aboutsummaryrefslogtreecommitdiff
path: root/src/raw
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2024-08-29 20:19:09 +0200
committerDaniel Schadt <kingdread@gmx.de>2024-08-29 20:19:09 +0200
commit702288636c4e407860cc5244d07725794d7b8d04 (patch)
tree3d86c219ca1c0957a85aca78ea0c823dbf341fcc /src/raw
parentb80279d4fb8a8a106ceb3290886c4a98b20aa42c (diff)
downloadevtclib-702288636c4e407860cc5244d07725794d7b8d04.tar.gz
evtclib-702288636c4e407860cc5244d07725794d7b8d04.tar.bz2
evtclib-702288636c4e407860cc5244d07725794d7b8d04.zip
implement some new events
evtclib hasn't kept up too well with the newest things arcdps now reports. This commit at least introduces the correct CbtStateChange variants for all of the new features, and it adds "high level" EventKinds for some of them. There are still plenty of unimplemented ones, but we can get to that later. Since there are multiple "internal use" variants now, FromRawEventError::UnexpectedReplInfo has been renamed to UnexpectedInternalEvent.
Diffstat (limited to 'src/raw')
-rw-r--r--src/raw/types.rs73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/raw/types.rs b/src/raw/types.rs
index 1bc3d08..b272c9b 100644
--- a/src/raw/types.rs
+++ b/src/raw/types.rs
@@ -191,12 +191,85 @@ pub enum CbtStateChange {
/// `src_agent` is agent, `value` is float with percent
BreakbarPercent,
/// `time` is the start of the error string.
+ ///
+ /// In modern arcdps, this is called `CBTS_INTEGRITY`, but we leave it for backward
+ /// compatibility.
Error,
/// `src_agent` is the agent, `value` is the tag id
+ ///
+ /// In modern arcdps, this is called `CBTS_MARKER`, but we leave it for backward compatibility.
Tag,
/// `src_agent` is at barrier percent, `dst_agent` is the percentage times 10000 (so 99.5%
/// will be 9950).
BarrierUpdate,
+ /// `src_agent` is the species id of the agent that triggered the reset.
+ StatReset,
+ /// For extension use, not managed by arcdps.
+ Extension,
+ /// For events that are deemed unsafe to report real-time.
+ ///
+ /// Should not appear in evtc files.
+ ApiDelayed,
+ /// Map instance start.
+ ///
+ /// `src_agent` are milliseconds since the instance was created.
+ InstanceStart,
+ /// Tick health.
+ ///
+ /// `src_agent` is 25 - tickrate, when tickrate <= 20
+ RateHealth,
+ /// No longer used.
+ Last90BeforeDown,
+ /// No longer used.
+ Effect,
+ /// content id to guid association for volatile types
+ ///
+ /// src_agent: (uint8_t*)&src_agent is uint8_t[16] guid of content
+ /// overstack_value: is of enum contentlocal
+ IdToGuid,
+ /// Log boss agent changed.
+ ///
+ /// src_agent: species id of agent
+ /// dst_agent: related to agent
+ /// value: as uint32_t, server unix timestamp
+ LogNpcUpdate,
+ /// Internal use.
+ IdleEvent,
+ /// For extension use.
+ ExtensionCombat,
+ /// Fractal scale.
+ ///
+ /// `src_agent` will be the fractal scale.
+ FractalScale,
+ /// Play graphical effect.
+ ///
+ /// src_agent: related to agent
+ /// dst_agent: effect at location of agent (if applicable)
+ /// value: (float*)&value is float[3], location x/y/z (if not at agent location)
+ /// iff: (uint32_t*)&iff is uint32_t[1], effect duration
+ /// buffremove: (uint32_t*)&buffremove is uint32_t[1], trackable id of effect. id dst_agent and location is 0/0/0, effect was stopped
+ /// is_shields: (int16_t*)&is_shields is int16_t[3], orientation x/y/z, values are original*1000
+ /// is_flanking: effect is on a non-static platform
+ Effect2,
+ /// Ruleset for self.
+ ///
+ /// `src_agent` has bit 0 if PvE, bit 1 if WvW and bit 2 if PvP.
+ Ruleset,
+ /// Squad ground markers.
+ ///
+ /// src_agent: (float*)&src_agent is float[3], x/y/z of marker location. if values are all zero or infinity, this marker is removed
+ /// skillid: index of marker eg. 0 is arrow
+ SquadMarker,
+ /// Arcdps build info.
+ ///
+ /// `src_agent` is a null-terminated string matching the full build string.
+ ArcBuild,
+ /// Glider status change.
+ ///
+ /// `src_agent` is the agent, `value` 1 is deployed and 0 is stowed.
+ Glider,
+ /// `src_agent` is the agent, `value` is the remaining duration.
+ Stunbreak,
}
/// Combat buff remove type