Enum StateChange
#[repr(u8)]pub enum StateChange {
Show 67 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,
Effect45 = 45,
IdToGUID = 46,
LogNPCUpdate = 47,
IdleEvent = 48,
ExtensionCombat = 49,
FractalScale = 50,
Effect51 = 51,
Ruleset = 52,
SquadMarker = 53,
ArcBuild = 54,
Glider = 55,
Stunbreak = 56,
MissileCreate = 57,
MissileLaunch = 58,
MissileRemove = 59,
EffectGroundCreate = 60,
EffectGroundRemove = 61,
EffectAgentCreate = 62,
EffectAgentRemove = 63,
IIDChange = 64,
MapChange = 65,
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.
Effect45 = 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
Effect51 = 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
Stunbreak = 56
Disable stopped early.
src_agent stopped the disable.
value contains duration remaining.
EVTC: yes, limited to agent table outside instances
Realtime: no
MissileCreate = 57
Missile created.
src_agent contains the source agent.
value contains the location x/y/z as [i16; 3] divided by 10.
overstack_value contains the skin id (player only).
skill_id contains the associated skill id.
pad61 contains the trackable missile id as u32.
EVTC: yes, limited to agent table outside instances
Realtime: no
MissileLaunch = 58
Missile launched or relaunched.
src_agent contains the source agent.
dst_agent contains the target agent, if set and in range.
value contains the target x/y/z and current x/y/z as [i16; 6] divided by 10.
skill_id contains the associated skill id.
affinity contains the launch motion as u8. Unknown values, directly from client.
result contains the motion radius/range as i16.
is_buffremove contains the launch flags as u32. Unknown values, directly from client.
is_shields contains the missile speed as i16.
pad61 contains the trackable missile id as u32.
EVTC: yes, limited to agent table outside instances
Realtime: no
MissileRemove = 59
Missile removed or destroyed.
src_agent contains the related agent.
value contains the total friendly fire damage.
skill_id contains the associated skill id.
is_src_flanking if at least one enemy was hit along the way.
pad61 contains the trackable missile id as u32.
EVTC: yes, limited to agent table outside instances
Realtime: no
EffectGroundCreate = 60
Ground effect created.
src_agent contains the owner agent.
dst_agent contains the origin x/y/z divided by 10 and orient x/y/z multiplied by 1000 as [i16; 6].
skill_id contains the volatile effect content id, map to stable GUID via StateChange::IdToGUID event.
affinity contains the effect duration as u32. If the duration is zero, it may be a fixed length duration (see StateChange::IdToGUID event).
is_buffremove contains the flags.
is_flanking if effect is located on a non-static platform.
is_shields contains the scale (if zero, assume 1) multiplied by 1000 as i16.
pad61 contains the trackable effect id as u32.
EVTC: yes, limited to agent table outside instances
Realtime: no
EffectGroundRemove = 61
EffectAgentCreate = 62
Effect atttached to agent created.
src_agent contains the related agent.
skill_id contains the volatile effect content id, map to stable GUID via StateChange::IdToGUID event.
affinity contains effect duration as u32. If the duration is zero, it may be a fixed length duration (see StateChange::IdToGUID event).
pad61 contains the trackable effect id as u32.
EVTC: yes, limited to agent table outside instances
Realtime: no
EffectAgentRemove = 63
Effect attached to agent removed.
src_agent contains the related agent.
pad61 contains the trackable effect id as u32.
EVTC: yes, limited to agent table outside instances
Realtime: no
IIDChange = 64
Player IID (unique agent id) changed.
Happens after spawn when player historical data is loaded. Does not happen if player has no historical data.
src_agent contains the old IID.
dst_agent contains the new IID
EVTC: yes
Realtime: no
MapChange = 65
Map changed.
src_agent contains the new map id.
dst_agent contains the old map id.
EVTC: yes
Realtime: yes
Unknown(u8)
Unknown or invalid.
Implementations§
§impl StateChange
impl StateChange
Trait Implementations§
§impl Clone for StateChange
impl Clone for StateChange
§fn clone(&self) -> StateChange
fn clone(&self) -> StateChange
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for StateChange
impl Debug for StateChange
§impl<'de> Deserialize<'de> for StateChange
impl<'de> Deserialize<'de> for StateChange
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<StateChange, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<StateChange, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl Display for StateChange
impl Display for StateChange
§impl EnumCount for StateChange
impl EnumCount for StateChange
§impl<'_derivative_strum> From<&'_derivative_strum StateChange> for &'static str
impl<'_derivative_strum> From<&'_derivative_strum StateChange> for &'static str
§fn from(x: &'_derivative_strum StateChange) -> &'static str
fn from(x: &'_derivative_strum StateChange) -> &'static str
§impl From<StateChange> for &'static str
impl From<StateChange> for &'static str
§fn from(x: StateChange) -> &'static str
fn from(x: StateChange) -> &'static str
§impl From<u8> for StateChange
impl From<u8> for StateChange
§fn from(number: u8) -> StateChange
fn from(number: u8) -> StateChange
§impl FromPrimitive for StateChange
impl FromPrimitive for StateChange
type Primitive = u8
fn from_primitive( number: <StateChange as FromPrimitive>::Primitive, ) -> StateChange
§impl Hash for StateChange
impl Hash for StateChange
§impl IntoEnumIterator for StateChange
impl IntoEnumIterator for StateChange
type Iterator = StateChangeIter
fn iter() -> StateChangeIter ⓘ
§impl Ord for StateChange
impl Ord for StateChange
§impl PartialEq for StateChange
impl PartialEq for StateChange
§impl PartialOrd for StateChange
impl PartialOrd for StateChange
§impl Serialize for StateChange
impl Serialize for StateChange
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
§impl VariantNames for StateChange
impl VariantNames for StateChange
impl Copy for StateChange
impl Eq for StateChange
impl StructuralPartialEq for StateChange
Auto Trait Implementations§
impl Freeze for StateChange
impl RefUnwindSafe for StateChange
impl Send for StateChange
impl Sync for StateChange
impl Unpin for StateChange
impl UnwindSafe for StateChange
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.