Enum arcdps::evtc::StateChange

source ·
#[repr(u8)]
pub enum StateChange {
Show 55 variants None = 0, EnterCombat = 1, ExitCombat = 2, ChangeUp = 3, ChangeDead = 4, ChangeDown = 5, Spawn = 6, Despawn = 7, HealthUpdate = 8, LogStart = 9, LogEnd = 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, Error = 36, Marker = 37, BarrierUpdate = 38, StatReset = 39, Extension = 40, ApiDelayed = 41, InstanceStart = 42, Tickrate = 43, Last90BeforeDown = 44, EffectOld = 45, IdToGUID = 46, LogNPCUpdate = 47, IdleEvent = 48, ExtensionCombat = 49, FractalScale = 50, Effect = 51, Ruleset = 52, SquadMarker = 53, Unknown(u8),
}
Expand description

Combat state change kinds.

Variants§

§

None = 0

Not used, different kind of event.

§

EnterCombat = 1

Source agent entered combat.

dst_agent contains the subgroup.

§

ExitCombat = 2

Source agent left combat.

§

ChangeUp = 3

Source agent is now alive.

§

ChangeDead = 4

Source agent is now dead.

§

ChangeDown = 5

Source agent is now downed.

§

Spawn = 6

Source agent is now in game tracking range.

Not used in realtime API.

§

Despawn = 7

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

Not used in realtime API.

§

HealthUpdate = 8

Source agent health change.

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

Not used in realtime API.

§

LogStart = 9

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.

§

LogEnd = 10

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.

§

WeaponSwap = 11

Source agent swapped weapon set.

dst_agent contains the current 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.

§

MaxHealthUpdate = 12

Source agent maximum health change.

dst_agent contains the new maximum health.

Not used in realtime API.

§

PointOfView = 13

Source agent is “recording” player.

Not used in realtime API.

§

Language = 14

Source agent contains the game text language.

Not used in realtime API.

§

GWBuild = 15

Source agent contains the game build.

Not used in realtime API.

§

ShardId = 16

Source agent contains the sever shard id.

Not used in realtime API.

§

Reward = 17

Source agent got a reward chest.

Source is always self. dst_agent contains the reward id. Value contains the reward type.

§

BuffInitial = 18

Appears once per buff per agent on logging start.

(statechange == 18 and buff == 18, normal combat event otherwise)

§

Position = 19

Source agent position change.

dst_agent contains x/y/z as array of 3 floats.

Not used in realtime API.

§

Velocity = 20

Source agent velocity change.

dst_agent contains x/y/z as array of 3 floats.

Not used in realtime API.

§

Facing = 21

Source agent facing change.

dst_agent contains x/y as array of 2 floats.

Not used in realtime API.

§

TeamChange = 22

Source agent team change.

dst_agent contains the new team id.

§

AttackTarget = 23

Source agent is now an attack target.

dst_agent is the parent agent (gadget type). value contains the current targetable state.

Not used in realtime API.

§

Targetable = 24

Source agent targetability change.

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

Not used in realtime API.

§

MapId = 25

Source agent contains the map id.

Not used in realtime API.

§

ReplInfo = 26

Used internally by ArcDPS. Should not appear anywhere.

§

StackActive = 27

Source agent with active buff.

dst_agent contains the stack id marked active.

§

StackReset = 28

Source agent with reset buff.

value is the duration to reset to (also marks inactive). pad61 contains the stack id.

§

Guild = 29

Source agent is in guild.

dst_agent until buff_dmg is u128 (16 byte) guid.

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

§

BuffInfo = 30

Buff information.

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 invulnerable. If is_shields probably invert. If pad62 probably resistance.

Not used in realtime API.

§

BuffFormula = 31

Buff formula.

time contains type, attr1, attr2, param1, param2, param3, trait_src and trait_self as [f32; 8]. src_instance_id contains buff_src and buff_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.

Once per formula.

Not used in realtime API.

§

SkillInfo = 32

Skill information.

time contains recharge, range0, range1 and tooltiptime as [f32; 4].

Not used in realtime API.

§

SkillTiming = 33

Skill action.

src_agent contains the action. dst_agent contains at which millisecond.

One per timing.

Not used in realtime API.

§

BreakbarState = 34

Source agent breakbar state change.

Value is u16 game enum (active, recover, immune, none).

Not used in realtime API.

§

BreakbarPercent = 35

Breakbar percentage.

value contains percentage as float.

Not used in realtime API.

§

Error = 36

Error.

time contains the error message as an array of up to 32 characters.

Not used in realtime API.

§

Marker = 37

Source agent has marker.

src_agent is agent. value is the id of the marker (volatile, depends on game build). buff will be non-zero if commander.

A marker id of 0 indicates a remove.

§

BarrierUpdate = 38

Source agent barrier change.

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

Not used in realtime API.

§

StatReset = 39

Arc UI stats reset.

src_agent contains the NPC id of the active log.

Not used in log EVTC.

§

Extension = 40

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

§

ApiDelayed = 41

Delayed combat event.

§

InstanceStart = 42

Instance started.

src_agent contains the time in ms at which the instance was likely started.

§

Tickrate = 43

Tick rate.

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

§

Last90BeforeDown = 44

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

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.

Not used in realtime API.

§

IdToGUID = 46

Id to GUID.

src_agent contains u128 (16 byte) persistent content guid. overstack_value is a variant of ContentLocal, skill_id is content id.

Not used in realtime API.

§

LogNPCUpdate = 47

Log NPC changed.

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

src_agent is species id.

§

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.

§

Effect = 51

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 duration as u32. is_buffremove contains trackable id as u32. is_shields contains orientation as [i16; 3]. Orientation values are original multiplied by 1000 or i16::MIN/i16::MAX if out of bounds.

Not used in realtime API.

§

Ruleset = 52

Combat ruleset.

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

§

SquadMarker = 53

Squad marker placed or removed.

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

§

Unknown(u8)

Unknown or invalid.

Implementations§

source§

impl StateChange

source

pub fn has_time(&self) -> bool

Checks whether the statechange has an associated timestamp.

Trait Implementations§

source§

impl Clone for StateChange

source§

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
source§

impl Debug for StateChange

source§

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

Formats the value using the given formatter. Read more
source§

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

source§

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
source§

impl From<u8> for StateChange

source§

fn from(number: u8) -> StateChange

Converts to this type from the input type.
source§

impl FromPrimitive for StateChange

source§

impl Hash for StateChange

source§

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
source§

impl Ord for StateChange

source§

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
source§

impl PartialEq for StateChange

source§

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

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

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

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

impl PartialOrd for StateChange

source§

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

This method 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

This method 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

This method 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

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

impl Serialize for StateChange

source§

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
source§

impl Copy for StateChange

source§

impl Eq for StateChange

source§

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> 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,

§

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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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>,