aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/event.rs10
-rw-r--r--src/raw/types.rs2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/event.rs b/src/event.rs
index 971a1a3..d0d3181 100644
--- a/src/event.rs
+++ b/src/event.rs
@@ -182,6 +182,12 @@ pub enum EventKind {
/// An error was reported by arcdps.
Error { text: String },
+
+ /// 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!
+ Tag { agent_addr: u64, tag_id: i32 },
}
/// A higher-level representation of a combat event.
@@ -368,6 +374,10 @@ impl TryFrom<&raw::CbtEvent> for Event {
.into_owned(),
}
}
+ CbtStateChange::Tag => EventKind::Tag {
+ agent_addr: raw_event.src_agent,
+ tag_id: raw_event.value,
+ },
// XXX: implement proper handling of those events!
CbtStateChange::BuffInitial
| CbtStateChange::ReplInfo
diff --git a/src/raw/types.rs b/src/raw/types.rs
index 820d7a5..fe4a907 100644
--- a/src/raw/types.rs
+++ b/src/raw/types.rs
@@ -201,6 +201,8 @@ pub enum CbtStateChange {
BreakbarPercent,
/// `time` is the start of the error string.
Error,
+ /// `src_agent` is the agent, `value` is the tag id
+ Tag,
}
impl Default for CbtStateChange {