aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2020-06-12 17:08:12 +0200
committerDaniel Schadt <kingdread@gmx.de>2020-06-12 17:08:12 +0200
commit3951dcbce2f229235b77945b3493524ef970af4f (patch)
tree3c32718f507718fb24d183c339d5bd2105dc3dad
parent955b1a3a5121aa4b382da23317ea2000e024a20b (diff)
downloadevtclib-3951dcbce2f229235b77945b3493524ef970af4f.tar.gz
evtclib-3951dcbce2f229235b77945b3493524ef970af4f.tar.bz2
evtclib-3951dcbce2f229235b77945b3493524ef970af4f.zip
implement CBTS_TAG
-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 {