#[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§
Trait Implementations§
Source§impl Clone for StateChange
impl Clone for StateChange
Source§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