#[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
Fields
agent_addr: u64
The agent has left combat.
ChangeUp
Fields
agent_addr: u64
The agent is now alive.
ChangeDown
Fields
agent_addr: u64
The agent is now downed.
ChangeDead
Fields
agent_addr: u64
The agent is now dead.
Spawn
Fields
agent_addr: u64
The agent is now in tracking range.
Despawn
Fields
agent_addr: u64
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
Fields
agent_addr: u64
The given agent is the point-of-view.
Language
Fields
language: Language
The given language is the text language.
Build
Fields
build: u64
The log was made with the given game build.
ShardId
Fields
shard_id: u64
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.
BuffApplication
Fields
source_agent_addr: u64
destination_agent_addr: u64
buff_id: u32
duration: i32
overstack: u32
stack_id: u32
Buff applied.
BuffRemove
Fields
source_agent_addr: u64
destination_agent_addr: u64
buff_id: u32
total_duration: i32
longest_stack: i32
removal: CbtBuffRemove
Buff removed.
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
Fields
map_id: u64
Information about the map id.
Guild
Guild identification
Error
Fields
text: String
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!
Trait Implementations
impl StructuralPartialEq for EventKind
Auto Trait Implementations
impl RefUnwindSafe for EventKind
impl Send for EventKind
impl Sync for EventKind
impl Unpin for EventKind
impl UnwindSafe for EventKind
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more