Table of Contents

Struct PluginCombatSnapshot

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

A single reading of the client's combat state: what is targeted, what stance the character is in, and how far along the current attack is.

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

Constructors

PluginCombatSnapshot(uint, PluginCombatMode, PluginAttackHeight, float, float, bool, bool, bool, bool)

A single reading of the client's combat state: what is targeted, what stance the character is in, and how far along the current attack is.

public PluginCombatSnapshot(uint SelectedObjectId, PluginCombatMode Mode, PluginAttackHeight AttackHeight, float DesiredPower, float PowerBarLevel, bool BuildInProgress, bool RequestInProgress, bool ServerResponsePending, bool RepeatAttackInProgress)

Parameters

SelectedObjectId uint

The currently selected object, or zero when nothing is selected.

Mode PluginCombatMode

The character's current stance.

AttackHeight PluginAttackHeight

The height the current or last attack asked for.

DesiredPower float

The power setting an attack was asked for, from 0 to 1.

PowerBarLevel float

How far the power bar has charged so far, from 0 to 1.

BuildInProgress bool

True while the power bar is still charging.

RequestInProgress bool

True while an attack has been begun and not yet released or aborted.

ServerResponsePending bool

True while the client is waiting for the server's answer to an attack.

RepeatAttackInProgress bool

True while the client is repeating attacks on its own.

Properties

AttackHeight

The height the current or last attack asked for.

public PluginAttackHeight AttackHeight { get; init; }

Property Value

PluginAttackHeight

BuildInProgress

True while the power bar is still charging.

public bool BuildInProgress { get; init; }

Property Value

bool

CompletionRevision

Revision of the last physical AttackDone receipt.

public long CompletionRevision { get; init; }

Property Value

long

CompletionSequence

The attack sequence number that receipt answered.

public uint CompletionSequence { get; init; }

Property Value

uint

CompletionWeenieError

The error code that receipt carried; zero means the attack was accepted.

public uint CompletionWeenieError { get; init; }

Property Value

uint

DesiredPower

The power setting an attack was asked for, from 0 to 1.

public float DesiredPower { get; init; }

Property Value

float

Mode

The character's current stance.

public PluginCombatMode Mode { get; init; }

Property Value

PluginCombatMode

PowerBarLevel

How far the power bar has charged so far, from 0 to 1.

public float PowerBarLevel { get; init; }

Property Value

float

QualifiedSelfMotionAgeSeconds

Seconds since that receipt, or zero before any receipt.

public double QualifiedSelfMotionAgeSeconds { get; init; }

Property Value

double

QualifiedSelfMotionRevision

Revision of the last local character motion update with animation type zero and an empty packed motion word.

public long QualifiedSelfMotionRevision { get; init; }

Property Value

long

RepeatAttackInProgress

True while the client is repeating attacks on its own.

public bool RepeatAttackInProgress { get; init; }

Property Value

bool

RequestInProgress

True while an attack has been begun and not yet released or aborted.

public bool RequestInProgress { get; init; }

Property Value

bool

SelectedObjectId

The currently selected object, or zero when nothing is selected.

public uint SelectedObjectId { get; init; }

Property Value

uint

ServerMode

The stance the server last said the character is in, or Unknown before it has said anything this session. Mode changes the moment the client sends a change; this changes when the server has taken it, which can be a little later, and a spell sent in between is cast in the old stance. A plugin that wants the server's word waits until the two agree.

public PluginCombatMode ServerMode { get; init; }

Property Value

PluginCombatMode

ServerResponsePending

True while the client is waiting for the server's answer to an attack.

public bool ServerResponsePending { get; init; }

Property Value

bool