Enum arcdps::StateChange

#[repr(u8)]
pub enum StateChange {
Show 57 variants None = 0, EnterCombat = 1, ExitCombat = 2, ChangeUp = 3, ChangeDead = 4, ChangeDown = 5, Spawn = 6, Despawn = 7, HealthUpdate = 8, SquadCombatStart = 9, SquadCombatEnd = 10, WeaponSwap = 11, MaxHealthUpdate = 12, PointOfView = 13, Language = 14, GWBuild = 15, ShardId = 16, Reward = 17, BuffInitial = 18, Position = 19, Velocity = 20, Facing = 21, TeamChange = 22, AttackTarget = 23, Targetable = 24, MapId = 25, ReplInfo = 26, StackActive = 27, StackReset = 28, Guild = 29, BuffInfo = 30, BuffFormula = 31, SkillInfo = 32, SkillTiming = 33, BreakbarState = 34, BreakbarPercent = 35, Integrity = 36, Marker = 37, BarrierUpdate = 38, StatReset = 39, Extension = 40, ApiDelayed = 41, InstanceStart = 42, RateHealth = 43, Last90BeforeDown = 44, EffectOld = 45, IdToGUID = 46, LogNPCUpdate = 47, IdleEvent = 48, ExtensionCombat = 49, FractalScale = 50, Effect = 51, Ruleset = 52, SquadMarker = 53, ArcBuild = 54, Glider = 55, Unknown(u8),
}
Expand description

Combat state change kinds.

Variants§

§

None = 0

Not used, different kind of event.

§

EnterCombat = 1

Agent entered combat.

src_agent entered combat. dst_agent contains the subgroup. value contains the Profession id. buff_dmg contains the Elite Specialization id.

EVTC: yes, limited to agent table outside instances.

Realtime: yes, limited to squad.

§

ExitCombat = 2

Agent left combat.

src_agent left combat.

EVTC: yes, limited to agent table outside instances.

Realtime: yes, limited to squad.

§

ChangeUp = 3

Agent is now alive.

src_agent is alive.

EVTC: yes, limited to agent table outside instances.

Realtime: yes, limited to squad.

§

ChangeDead = 4

Agent is now dead.

src_agent is dead.

EVTC: yes, limited to agent table outside instances.

Realtime: yes, limited to squad.

§

ChangeDown = 5

Agent is now downed.

src_agent is down.

EVTC: yes, limited to agent table outside instances.

Realtime: yes, limited to squad.

§

Spawn = 6

Agent is now in game tracking range.

src_agent is now tracked.

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

Despawn = 7

Source agent is no longer being tracked or out of game tracking range.

src_agent is no longer tracked.

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

HealthUpdate = 8

Agent health change.

src_agent health changed. dst_agent contains percentage as percent * 10000. For example 99.5% will be 9950.

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

SquadCombatStart = 9

Squad combat start, first player entered combat. Logging has started.

value contains the server Unix timestamp as u32. buff_dmg contains the local Unix timestamp.

src_agent is 0x637261 (ArcDPS id) if log EVTC and species id if realtime API.

EVTC: yes

Realtime: yes

§

SquadCombatEnd = 10

Squad combat end, last player has left combat. Logging has ended.

value contains the server Unix timestamp as u32. buff_dmg contains the local Unix timestamp.

src_agent is 0x637261 (ArcDPS id) if log EVTC and species id if realtime API.

EVTC: yes

Realtime: yes

§

WeaponSwap = 11

Agent swapped weapon set.

src_agent swapped weapons. dst_agent contains the new weapon set id. value contains the previous weapon set id.

0/1 for underwater weapon sets and 4/5 for land weapon sets. 2 is bundle/kit weapon set and 3 transform weapon set.

EVTC: yes

Realtime: yes

§

MaxHealthUpdate = 12

Agent maximum health change.

src_agent changed max health. dst_agent contains the new maximum health.

EVTC: yes, limited to non-players.

Realtime: no

§

PointOfView = 13

Player recording the log.

src_agent is point of view

EVTC: yes

Realtime: no

§

Language = 14

Game text language.

src_agent contains the text language id.

EVTC: yes

Realtime: no

§

GWBuild = 15

Game build.

src_agent contains the game build.

EVTC: yes

Realtime: no

§

ShardId = 16

Sever shard id.

src_agent contains the shard id.

EVTC: yes

Realtime: no

§

Reward = 17

Source agent got a reward chest.

src_agent is always self. dst_agent contains the reward id. value contains the reward type.

EVTC: yes

Realtime: yes

§

BuffInitial = 18

Initially present buffs.

Identical to buff application event. Appears once per buff per agent on logging start.

EVTC: yes, limited to squad outside instances.

Realtime: yes, limited to squad.

§

Position = 19

Agent position change.

src_agent changed position. dst_agent contains XYZ coordinates as [f32; 3].

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

Velocity = 20

Agent velocity change.

src_agent changed position. dst_agent contains XYZ velocity as [f32; 3].

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

Facing = 21

Agent facing change.

src_agent changed position. dst_agent contains XY direction as [f32; 2].

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

TeamChange = 22

Agent team change.

src_agent changed team. dst_agent contains the new team id. value contains the previous team id.

EVTC: yes, limited to agent table outside instances.

Realtime: yes, limited to squad.

§

AttackTarget = 23

Agent is an attack target of parent gadget.

src_agent is the attack target. dst_agent is the parent gadget. value contains the current targetable state.

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

Targetable = 24

Agent changed targetable state.

src_agent changed targetable state. dst_agent contains the new targetable state. 0 for no, 1 for yes. Default is yes.

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

MapId = 25

Map id.

src_agent contains the map id.

EVTC: yes

Realtime: no

§

ReplInfo = 26

Used internally by ArcDPS. Should not appear anywhere.

§

StackActive = 27

Buff stack is now active.

src_agent has the buff. dst_agent contains the buff stack id marked active. value contains the current buff duration.

EVTC: yes, limited to squad outside instances.

Realtime: yes, limited to squad.

§

StackReset = 28

Buff stack duration changed.

src_agent has the buff. value contains the new duration to reset to (also marks inactive). pad61-64 contains the stack id.

EVTC: yes, limited to squad outside instances.

Realtime: yes, limited to squad.

§

Guild = 29

Agent is in guild.

src_agent is in guild. dst_agent contains the guild guid as [u8; 16].

Given in client form, needs minor rearrange for API form.

EVTC: yes, limited to squad outside instances.

Realtime: yes, limited to squad.

§

BuffInfo = 30

Buff information.

skill_id is skilldef id of buff. is_offcycle contains the category. pad61 contains the stacking type. src_master_instance_id contains the max stacks. overstack_value contains the duration cap.

If is_flanking probably invulnerability-like. If is_shields probably invert-like. If pad62 probably resistance-like.

One event per buff.

EVTC: yes

Realtime: no

§

BuffFormula = 31

Buff formula.

skill_id is skilldef id of buff. time contains type, attr1, attr2, param1, param2, param3, trait_condition_src and trait_condition_self, content_reference as [f32; 9]. src_instance_id contains buff_condition_src and buff_condition_self as [f32; 2].

If is_flanking not NPC. If is_shields not player. If is_offcycle break.

overstack_value is value of type determined by pad61.

One event per buff formula.

EVTC: yes

Realtime: no

§

SkillInfo = 32

Skill information.

skill_id is skilldef id of ability. time contains recharge, range0, range1 and tooltiptime as [f32; 4].

One event per ability.

EVTC: yes

Realtime: no

§

SkillTiming = 33

Skill action.

skill_id is skilldef id of ability. src_agent contains the action type. dst_agent contains the time since activation in milliseconds.

One event per ability timing.

EVTC: yes

Realtime: no

§

BreakbarState = 34

Agent breakbar state change.

src_agent changed breakbar state. value contains the new breakbar state as u16 (game enum: active, recover, immune, none).

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

BreakbarPercent = 35

Breakbar percentage.

src_agent has breakbar percentage. value contains percentage as f32.

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

Integrity = 36

Message with log integrity information.

time contains the message as a null-terminated C string.

EVTC: yes

Realtime: no

§

Marker = 37

Agent has a marker.

src_agent has the marker. value contains the markerdef id (volatile, depends on game build). If buff, marker is a commander tag.

A marker id of 0 indicates a remove.

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

BarrierUpdate = 38

Agent barrier change.

src_agent has barrier percentage. dst_agent contains percentage as percent * 10000. For example 99.5% will be 9950.

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

StatReset = 39

Arc UI stats reset.

src_agent contains the species id of the agent triggering the reset, for example boss species id.

EVTC: yes

Realtime: yes

§

Extension = 40

A custom event created by an extension (addon/plugin).

§

ApiDelayed = 41

Delayed combat event.

Event deemed “unsafe” for realtime that was held back until after squad left combat.

EVTC: no

Realtime: yes

§

InstanceStart = 42

Map instance start timestamp.

src_agent contains the time in milliseconds since the instance was started.

EVTC: yes

Realtime: yes

§

RateHealth = 43

Tick rate health.

src_agent is 25 - tickrate when tickrate < 21. Every 500ms.

EVTC: yes

Realtime: no

§

Last90BeforeDown = 44

Retired since 230716.

Previously: Last 90% before down.

src_agent is enemy agent that went down, dst_agent is time in ms since last 90%. For downs contribution.

§

EffectOld = 45

Retired since 230716.

Previously: Effect created or ended.

skill_id contains the effect id. src_agent is the effect owner. dst_agent if effect located at agent. Otherwise value contains XYZ position as [f32; 3], affinity contains XY orientation as [f32; 2], pad61 contains Z orientation as f32. is_shields contains duration as u16. If is_flanking, duration is a tracking id. If effect id is 0, effect ended and is_shields contains tracking id.

§

IdToGUID = 46

Content id to GUID.

skill_id is the content id. src_agent contains the persistent content guid as [u8; 16]. overstack_value contains a variant of ContentLocal.

Not used in realtime API.

§

LogNPCUpdate = 47

Log boss agent changed.

src_agent contains the species id of the agent. dst_agent is the boss agent. value contains the server Unix timestamp as u32. buff_dmg contains the local Unix timestamp.

EVTC: yes

Realtime: yes

§

IdleEvent = 48

Used internally by ArcDPS. Should not appear anywhere.

§

ExtensionCombat = 49

A custom combat event created by an extension (addon/plugin).

skill_id is treated as skill id and will be added to the EVTC skill table.

§

FractalScale = 50

Fractal scale.

src_agent contains the scale.

EVTC: yes

Realtime: no

§

Effect = 51

Visual effect created or ended.

skill_id contains the effect id. src_agent is the effect owner (if any). dst_agent if effect located at agent. Otherwise value contains XYZ location as [f32; 3]. affinity contains duration as u32. is_buffremove contains trackable id as u32. is_shields contains orientation as [i16; 3]. Orientation values are original * 1000 or i16::MIN/i16::MAX if out of bounds.

EVTC: yes, limited to agent table outside instances

Realtime: no

§

Ruleset = 52

Combat ruleset.

src_agent has bit 0 set if PvE rules, bit 1 if WvW rules and bit 2 if PvP rules.

EVTC: yes

Realtime: no

§

SquadMarker = 53

Squad ground marker placed or removed.

src_agent contains XYZ location as [f32; 3] or f32::INFINITY if removed. skill_id contains the index of the squad marker, for example 0 for Arrow marker.

EVTC: yes

Realtime: no

§

ArcBuild = 54

ArcDPS build information.

src_agent contains ArcDPS build as null-terminated C string.

EVTC: yes

Realtime: no

§

Glider = 55

Agent gliding state change.

src_agent changed gliding state. value contains 1 if deployed and 0 if stowed.

EVTC: yes, limited to agent table outside instances.

Realtime: no

§

Unknown(u8)

Unknown or invalid.

Implementations§

§

impl StateChange

pub fn has_time(&self) -> bool

Checks whether the statechange has an associated timestamp.

Trait Implementations§

§

impl Clone for StateChange

§

fn clone(&self) -> StateChange

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for StateChange

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'de> Deserialize<'de> for StateChange

§

fn deserialize<__D>( __deserializer: __D, ) -> Result<StateChange, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
§

impl Display for StateChange

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl EnumCount for StateChange

§

const COUNT: usize = 57usize

§

impl<'_derivative_strum> From<&'_derivative_strum StateChange> for &'static str

§

fn from(x: &'_derivative_strum StateChange) -> &'static str

Converts to this type from the input type.
§

impl From<StateChange> for &'static str

§

fn from(x: StateChange) -> &'static str

Converts to this type from the input type.
§

impl From<u8> for StateChange

§

fn from(number: u8) -> StateChange

Converts to this type from the input type.
§

impl FromPrimitive for StateChange

§

type Primitive = u8

§

fn from_primitive( number: <StateChange as FromPrimitive>::Primitive, ) -> StateChange

§

impl Hash for StateChange

§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
§

impl IntoEnumIterator for StateChange

§

impl Ord for StateChange

§

fn cmp(&self, other: &StateChange) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
§

impl PartialEq for StateChange

§

fn eq(&self, other: &StateChange) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialOrd for StateChange

§

fn partial_cmp(&self, other: &StateChange) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
§

impl Serialize for StateChange

§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
§

impl VariantNames for StateChange

§

const VARIANTS: &'static [&'static str] = _

Names of the variants of this enum
§

impl Copy for StateChange

§

impl Eq for StateChange

§

impl StructuralPartialEq for StateChange

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,