#[repr(C)]pub struct Event {Show 27 fields
pub time: u64,
pub src_agent: u64,
pub dst_agent: u64,
pub value: i32,
pub buff_dmg: i32,
pub overstack_value: u32,
pub skill_id: u32,
pub src_instance_id: u16,
pub dst_instance_id: u16,
pub src_master_instance_id: u16,
pub dst_master_instance_id: u16,
pub affinity: u8,
pub buff: u8,
pub result: u8,
pub is_activation: u8,
pub is_buffremove: u8,
pub is_ninety: u8,
pub is_fifty: u8,
pub is_moving: u8,
pub is_statechange: u8,
pub is_flanking: u8,
pub is_shields: u8,
pub is_offcycle: u8,
pub pad61: u8,
pub pad62: u8,
pub pad63: u8,
pub pad64: u8,
}Expand description
ArcDPS event.
Fields§
§time: u64timeGetTime() at time of registering the event.
src_agent: u64Agent that caused the event.
dst_agent: u64Agent the event happened to.
value: i32Value, if relevant to the event.
buff_dmg: i32Buff damage, if relevant to the event.
overstack_value: u32Overstack value, if relevant to the event.
skill_id: u32Skill id of the relevant skill (can be zero).
src_instance_id: u16Instance id of source agent as appears in game at time of event.
dst_instance_id: u16Instance id of destination agent as appears in game at time of event.
src_master_instance_id: u16If src_agent has a master (e.g. is minion), will be equal to instance id of master, zero otherwise.
dst_master_instance_id: u16If dst_agent has a master (e.g. is minion), will be equal to instance id of master, zero otherwise.
affinity: u8Current affinity of src_agent and dst_agent.
Use Event::get_affinity to obtain the value as Affinity.
Arc calls this “iff” for if friend/foe.
buff: u8Buff, if relevant to the event.
result: u8Combat result.
For strike (direct damage) events this contains the kind of strike.
Use Event::get_strike to obtain the value as Strike.
is_activation: u8Whether event is a kind of activation event.
Use Event::get_activation to obtain the value as Activation.
For Activation::CancelFire and Activation::CancelCancel value will be the ms duration of the time spent in animation.
buff_dmg will be the ms duration of the scaled (as if not affected) time spent.
For Normal or Quickness, value will be the ms duration at which all significant effects have happened.
buff_dmg will be the ms duration at which control is expected to be returned to character.
dst_agent will be x/y of target of skill effect.
overstack_value will be z of target of skill effect.
is_buffremove: u8Whether event is a kind of buff remove event.
Use Event::get_buffremove to obtain the value as BuffRemove.
src_agent is agent that had buff removed, dst_agent is the agent that removed it.
value will be the remaining time removed calculated as duration.
buff_dmg will be the remaining time removed calculated as intensity.
For BuffRemove::All result will be the number of stacks removed.
For BuffRemove::Single pad61-64 (uint32) will be buff instance id of buff removed.
is_ninety: u8Whether src_agent is above 90% Health.
is_fifty: u8Whether dst_agent is below 50% Health.
is_moving: u8Whether src_agent is moving at time of event.
is_statechange: u8Whether event is a kind of state change event.
Use Event::get_statechange to obtain the value as StateChange.
is_flanking: u8Whether src_agent is flanking at time of event.
The value lies in a range of 1 to 135 degrees where 135 is rear.
is_shields: u8Shields, if relevant to the event.
is_offcycle: u8For relevant events this contains when the buff cycle happened.
Use Event::get_buffcycle to obtain the value as BuffCycle.
pad61: u8Padding.
May contain information depending on the kind of event.
pad62: u8Padding.
May contain information depending on the kind of event.
pad63: u8Padding.
May contain information depending on the kind of event.
pad64: u8Padding.
May contain information depending on the kind of event.
Implementations§
Source§impl Event
impl Event
Sourcepub fn categorize(&self) -> EventCategory
pub fn categorize(&self) -> EventCategory
Determines the EventCategory of the event.
Sourcepub fn get_statechange(&self) -> StateChange
pub fn get_statechange(&self) -> StateChange
Returns the event is_statechange as StateChange.
Sourcepub fn get_affinity(&self) -> Affinity
pub fn get_affinity(&self) -> Affinity
Returns the event affinity as Affinity.
This will return Affinity::Unknown if the event has no valid data in affinity.
Sourcepub fn get_activation(&self) -> Activation
pub fn get_activation(&self) -> Activation
Returns the event is_activation as Activation.
This will return Activation::Unknown if the event has no valid data in is_activation.
Sourcepub fn get_buffremove(&self) -> BuffRemove
pub fn get_buffremove(&self) -> BuffRemove
Returns the event is_buffremove as BuffRemove.
This will return BuffRemove::Unknown if the event has no valid data in is_buffremove.
Sourcepub fn get_strike(&self) -> Strike
pub fn get_strike(&self) -> Strike
Returns the event result as Strike.
This will return Strike::Unknown if the event has no valid data in result.
Sourcepub fn get_buffcycle(&self) -> BuffCycle
pub fn get_buffcycle(&self) -> BuffCycle
Returns the event is_offcycle as BuffCycle.
This will return BuffCycle::Unknown if the event has no valid data in is_offcycle.
Sourcepub fn get_pad_id(&self) -> u32
pub fn get_pad_id(&self) -> u32
Returns the padding as u32 id/signature.
Sourcepub fn try_extract<T>(&self) -> Option<T>where
T: TryExtract,
pub fn try_extract<T>(&self) -> Option<T>where
T: TryExtract,
Attempts to extract a type implementing TryExtract from the event.
Sourcepub fn try_to_activation(&self) -> Option<ActivationEvent>
pub fn try_to_activation(&self) -> Option<ActivationEvent>
Attempts to extract an ActivationEvent from the event.
Sourcepub fn try_to_buff_remove(&self) -> Option<BuffRemoveEvent>
pub fn try_to_buff_remove(&self) -> Option<BuffRemoveEvent>
Attempts to extract a BuffRemoveEvent from the event.
Sourcepub fn try_to_buff_apply(&self) -> Option<BuffApplyEvent>
pub fn try_to_buff_apply(&self) -> Option<BuffApplyEvent>
Attempts to extract a BuffApplyEvent from the event.
Sourcepub fn try_to_buff_damage(&self) -> Option<BuffDamageEvent>
pub fn try_to_buff_damage(&self) -> Option<BuffDamageEvent>
Attempts to extract a BuffDamageEvent from the event.
Sourcepub fn try_to_strike(&self) -> Option<StrikeEvent>
pub fn try_to_strike(&self) -> Option<StrikeEvent>
Attempts to extract a StrikeEvent from the event.
Sourcepub fn is_buffinitial(&self) -> bool
pub fn is_buffinitial(&self) -> bool
Checks whether the event is an initial buff event.