aboutsummaryrefslogtreecommitdiff
path: root/server/data
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-10-16 00:24:14 +0200
committermetamuffin <metamuffin@disroot.org>2025-10-16 00:24:14 +0200
commit17a01af0f34a918d028063665a507916c80867b8 (patch)
tree74f628b0fd5cb795e5f81a4bb58dae0cf6b542a4 /server/data
parent76be2b91bd4b3fdf76705bfa8ea4581992bf887a (diff)
downloadhurrycurry-17a01af0f34a918d028063665a507916c80867b8.tar
hurrycurry-17a01af0f34a918d028063665a507916c80867b8.tar.bz2
hurrycurry-17a01af0f34a918d028063665a507916c80867b8.tar.zst
Placable walls in tag
Diffstat (limited to 'server/data')
-rw-r--r--server/data/src/entities.rs5
-rw-r--r--server/data/src/lib.rs9
-rw-r--r--server/data/src/registry.rs8
3 files changed, 19 insertions, 3 deletions
diff --git a/server/data/src/entities.rs b/server/data/src/entities.rs
index fdd451a0..6dd0654a 100644
--- a/server/data/src/entities.rs
+++ b/server/data/src/entities.rs
@@ -73,6 +73,8 @@ pub enum EntityDecl {
TagMinigame {
#[serde(default = "default_item")]
tag_item: ItemIndex,
+ #[serde(default = "default_tile")]
+ blocker_tile: TileIndex,
},
}
@@ -98,3 +100,6 @@ fn default_onoff() -> f32 {
fn default_item() -> ItemIndex {
ItemIndex(usize::MAX)
}
+fn default_tile() -> TileIndex {
+ TileIndex(usize::MAX)
+}
diff --git a/server/data/src/lib.rs b/server/data/src/lib.rs
index 445e59b9..5d30afb7 100644
--- a/server/data/src/lib.rs
+++ b/server/data/src/lib.rs
@@ -218,8 +218,13 @@ fn build_data(
EntityDecl::Customers { unknown_order, .. } => {
*unknown_order = reg.register_item("unknown-order".to_owned())
}
- EntityDecl::TagMinigame { tag_item } => {
- *tag_item = reg.register_item("lettuce".to_owned())
+ EntityDecl::TagMinigame {
+ tag_item,
+ blocker_tile,
+ } => {
+ *tag_item = reg.register_item("lettuce".to_owned());
+ *blocker_tile = reg.register_tile("conveyor".to_owned());
+ exclusive_tiles.entry(*blocker_tile).or_default();
}
_ => (),
}
diff --git a/server/data/src/registry.rs b/server/data/src/registry.rs
index 9d513c90..6c92ecb5 100644
--- a/server/data/src/registry.rs
+++ b/server/data/src/registry.rs
@@ -85,7 +85,13 @@ pub(crate) fn filter_unused_tiles_and_items(data: &mut Gamedata, serverdata: &mu
..
} => used_tiles.insert(*blocker),
EntityDecl::Customers { unknown_order, .. } => used_items.insert(*unknown_order),
- EntityDecl::TagMinigame { tag_item, .. } => used_items.insert(*tag_item),
+ EntityDecl::TagMinigame {
+ tag_item,
+ blocker_tile,
+ } => {
+ used_items.insert(*tag_item);
+ used_tiles.insert(*blocker_tile)
+ }
_ => false,
};
}