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
SequencelongA 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.
ClientIduintThe publishing client instance, matching ClientId.
CasterObjectIduintThe character that cast it. Never this client's own character: a client does not read back its own casts.
TargetObjectIduintThe object it was cast at.
SpellIduintThe spell, as this client's own spell table knows it. A spell this client cannot find in its own table is never reported.
EffectiveSkillintThe magic skill the caster was casting with, as that client reckoned it. Zero when the caster did not say.
SecondsRemainingdoubleSeconds 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.
LandedboolTrue 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
ClientId
The publishing client instance, matching ClientId.
public uint ClientId { get; init; }
Property Value
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
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
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
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
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
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
TargetObjectId
The object it was cast at.
public uint TargetObjectId { get; init; }