#[non_exhaustive]pub enum EventKind {
Show 36 variants
EnterCombat {
agent_addr: u64,
subgroup: u64,
},
ExitCombat {
agent_addr: u64,
},
ChangeUp {
agent_addr: u64,
},
ChangeDown {
agent_addr: u64,
},
ChangeDead {
agent_addr: u64,
},
Spawn {
agent_addr: u64,
},
Despawn {
agent_addr: u64,
},
HealthUpdate {
agent_addr: u64,
health: u16,
},
LogStart {
server_timestamp: u32,
local_timestamp: u32,
},
LogEnd {
server_timestamp: u32,
local_timestamp: u32,
},
WeaponSwap {
agent_addr: u64,
set: WeaponSet,
},
MaxHealthUpdate {
agent_addr: u64,
max_health: u64,
},
PointOfView {
agent_addr: u64,
},
Language {
language: Language,
},
Build {
build: u64,
},
ShardId {
shard_id: u64,
},
Reward {
reward_id: u64,
reward_type: i32,
},
SkillUse {
source_agent_addr: u64,
skill_id: u32,
activation: Activation,
},
ConditionTick {
source_agent_addr: u64,
destination_agent_addr: u64,
condition_id: u32,
damage: i32,
},
InvulnTick {
source_agent_addr: u64,
destination_agent_addr: u64,
condition_id: u32,
},
Physical {
source_agent_addr: u64,
destination_agent_addr: u64,
skill_id: u32,
damage: i32,
result: CbtResult,
},
BuffApplication {
source_agent_addr: u64,
destination_agent_addr: u64,
buff_id: u32,
duration: i32,
overstack: u32,
stack_id: u32,
},
BuffRemove {
source_agent_addr: u64,
destination_agent_addr: u64,
buff_id: u32,
total_duration: i32,
longest_stack: i32,
removal: CbtBuffRemove,
},
BuffInitial {
source_agent_addr: u64,
destination_agent_addr: u64,
buff_id: u32,
duration: i32,
},
StackActive {
agent_addr: u64,
stack_id: u32,
},
StackReset {
agent_addr: u64,
stack_id: u32,
duration: i32,
},
Position {
agent_addr: u64,
x: f32,
y: f32,
z: f32,
},
Velocity {
agent_addr: u64,
x: f32,
y: f32,
z: f32,
},
Facing {
agent_addr: u64,
x: f32,
y: f32,
},
TeamChange {
agent_addr: u64,
team_id: u64,
},
AttackTarget {
agent_addr: u64,
parent_agent_addr: u64,
targetable: bool,
},
Targetable {
agent_addr: u64,
targetable: bool,
},
MapId {
map_id: u64,
},
Guild {
source_agent_addr: u64,
raw_bytes: [u8; 16],
api_guild_id: Option<String>,
},
Error {
text: String,
},
Tag {
agent_addr: u64,
tag_id: i32,
},
}
Expand description
A rusty enum for all possible combat events.
This makes dealing with CbtEvent
a bit saner (and safer).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
EnterCombat
The agent has entered combat.
ExitCombat
The agent has left combat.
ChangeUp
The agent is now alive.
ChangeDown
The agent is now downed.
ChangeDead
The agent is now dead.
Spawn
The agent is now in tracking range.
Despawn
The agent has left the tracking range.
HealthUpdate
The agent has reached a health treshold.
LogStart
The logging has started.
LogEnd
The logging has finished.
WeaponSwap
The agent has swapped the weapon set.
MaxHealthUpdate
The given agent has its max health changed.
PointOfView
The given agent is the point-of-view.
Language
The given language is the text language.
Build
The log was made with the given game build.
ShardId
The shard id of the server.
Reward
A reward has been awarded.
SkillUse
A skill has been used.
ConditionTick
Condition damage tick.
InvulnTick
Condition damage tick that was negated by invulnerability.
Physical
Physical damage.
Fields
BuffApplication
Buff applied.
Fields
BuffRemove
Buff removed.
Fields
removal: CbtBuffRemove
BuffInitial
Initial buff
StackActive
Mark the given buff stack as active.
StackReset
Reset the duration of the given stack.
Position
Position of the agent has changed.
Velocity
Velocity of the agent has changed.
Facing
The agent is facing in the given direction.
TeamChange
The given agent changed their team.
AttackTarget
Establishes an “attack target” relationship between two agents.
Attack targets are somewhat not really documented, but the gist seems to be that some
agents act as an “attack target” for other agents. This is mainly for the purpose of some
status update events, such as Targetable
or
MaxHealthUpdate
.
Damage events seem to not have attack targets as their target, so if your only goal is to calculate the damage dealt, you should be fine ignoring attack targets.
Further sources:
Targetable
Updates the targetable state for the given agent.
MapId
Information about the map id.
Guild
Guild identification
Error
An error was reported by arcdps.
Tag
The given agent has the tag.
Note that the tag id is volatile and depends on the game build. Do not rely on the actual value of this!