summaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/messages.rs10
-rw-r--r--src/components/mod.rs8
2 files changed, 16 insertions, 2 deletions
diff --git a/src/components/messages.rs b/src/components/messages.rs
index ac21ea1..aa928f0 100644
--- a/src/components/messages.rs
+++ b/src/components/messages.rs
@@ -75,9 +75,13 @@ pub type AttackInbox = Inbox<AttackMessage>;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Trigger {
+ // basic triggers
Loot,
- Die,
- Remove
+ Remove,
+ Build,
+ // combination triggers
+ Die, // Remove + Loot
+ Change // Remove + Build
}
impl Trigger {
@@ -86,6 +90,8 @@ impl Trigger {
"loot" => Self::Loot,
"die" => Self::Die,
"remove" => Self::Remove,
+ "build" => Self::Build,
+ "change" => Self::Change,
_ => {return None}
})
}
diff --git a/src/components/mod.rs b/src/components/mod.rs
index 530cda3..347bb40 100644
--- a/src/components/mod.rs
+++ b/src/components/mod.rs
@@ -227,4 +227,12 @@ pub struct CreationTime {
pub struct Item(pub ItemId);
+#[derive(Component, Debug, Clone)]
+#[storage(HashMapStorage)]
+pub struct Build {
+ pub obj: Template
+}
+
+
+