Table of Contents

Struct PluginPeerCast

Namespace
AcDream.Plugin.Abstractions
Assembly
AcDream.Plugin.Abstractions.dll

One spell another client on this computer said it cast, as this client reads it back. Nothing here is authoritative: it is what that client believed about its own cast, so treat it as a hint about what is already on a target rather than as a fact from the server.

public readonly record struct PluginPeerCast : IEquatable<PluginPeerCast>
Implements
Inherited Members

Constructors

PluginPeerCast(long, uint, uint, uint, uint, int, double, bool)

One spell another client on this computer said it cast, as this client reads it back. Nothing here is authoritative: it is what that client believed about its own cast, so treat it as a hint about what is already on a target rather than as a fact from the server.

public PluginPeerCast(long Sequence, uint ClientId, uint CasterObjectId, uint TargetObjectId, uint SpellId, int EffectiveSkill, double SecondsRemaining, bool Landed)

Parameters

Sequence long

A number that only grows, in the order this client first read these casts. Hand the highest one back to the next capture to pick up where you left off. Numbers can skip: a cast this client cannot make sense of is counted and then dropped.

ClientId uint

The publishing client instance, matching ClientId.

CasterObjectId uint

The character that cast it. Never this client's own character: a client does not read back its own casts.

TargetObjectId uint

The object it was cast at.

SpellId uint

The spell, as this client's own spell table knows it. A spell this client cannot find in its own table is never reported.

EffectiveSkill int

The magic skill the caster was casting with, as that client reckoned it. Zero when the caster did not say.

SecondsRemaining double

Seconds left of the effect, counted down from the duration the caster published by however long ago it said the cast happened, and never below zero. Zero for an attempt, which carries no duration at all.

Landed bool

True when the caster said the spell landed, false when this is only an attempt that may still fizzle or be resisted.

Properties

CasterObjectId

The character that cast it. Never this client's own character: a client does not read back its own casts.

public uint CasterObjectId { get; init; }

Property Value

uint

ClientId

The publishing client instance, matching ClientId.

public uint ClientId { get; init; }

Property Value

uint

EffectiveSkill

The magic skill the caster was casting with, as that client reckoned it. Zero when the caster did not say.

public int EffectiveSkill { get; init; }

Property Value

int

IsRemote

True when the cast was handed to this client by a plugin through ImportRemoteCast(uint, uint, uint, int, double, bool) rather than read from another client on this computer.

public bool IsRemote { get; init; }

Property Value

bool

Landed

True when the caster said the spell landed, false when this is only an attempt that may still fizzle or be resisted.

public bool Landed { get; init; }

Property Value

bool

SecondsRemaining

Seconds left of the effect, counted down from the duration the caster published by however long ago it said the cast happened, and never below zero. Zero for an attempt, which carries no duration at all.

public double SecondsRemaining { get; init; }

Property Value

double

Sequence

A number that only grows, in the order this client first read these casts. Hand the highest one back to the next capture to pick up where you left off. Numbers can skip: a cast this client cannot make sense of is counted and then dropped.

public long Sequence { get; init; }

Property Value

long

SpellId

The spell, as this client's own spell table knows it. A spell this client cannot find in its own table is never reported.

public uint SpellId { get; init; }

Property Value

uint

TargetObjectId

The object it was cast at.

public uint TargetObjectId { get; init; }

Property Value

uint