diff options
author | metamuffin <metamuffin@disroot.org> | 2024-11-22 15:41:45 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-11-22 15:44:23 +0100 |
commit | f27329f252a7844686249159cec721abbab0b47b (patch) | |
tree | f6cfcb2e56f765af5051712306f557af8a925265 /server/src | |
parent | 43b84664344b461bfb4128bb10111c3099029c7a (diff) | |
download | hurrycurry-f27329f252a7844686249159cec721abbab0b47b.tar hurrycurry-f27329f252a7844686249159cec721abbab0b47b.tar.bz2 hurrycurry-f27329f252a7844686249159cec721abbab0b47b.tar.zst |
disable unknown oders for autosushi; fix #204
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/data/mod.rs | 11 | ||||
-rw-r--r-- | server/src/entity/customers.rs | 6 |
2 files changed, 14 insertions, 3 deletions
diff --git a/server/src/data/mod.rs b/server/src/data/mod.rs index 549574c7..57051fe9 100644 --- a/server/src/data/mod.rs +++ b/server/src/data/mod.rs @@ -77,6 +77,7 @@ pub struct MapDecl { #[serde(default)] tile_entities: HashMap<char, EntityDecl>, #[serde(default)] score_baseline: i64, #[serde(default)] default_timer: Option<u64>, + #[serde(default)] flags: ServerdataFlags, } #[derive(Debug, Clone, Serialize, Deserialize)] @@ -95,7 +96,14 @@ pub struct Serverdata { pub customer_spawn: Vec2, pub score_baseline: i64, pub default_timer: Option<Duration>, - pub book: DocumentElement + pub book: DocumentElement, + pub flags: ServerdataFlags, +} + +#[rustfmt::skip] +#[derive(Debug, Clone, Default, Deserialize)] +pub struct ServerdataFlags { + #[serde(default)] pub disable_unknown_orders: bool, } #[derive(Debug, Deserialize, Default)] @@ -310,6 +318,7 @@ pub fn build_data( Serverdata { initial_map, chef_spawn, + flags: map_in.flags, customer_spawn, default_timer, book, diff --git a/server/src/entity/customers.rs b/server/src/entity/customers.rs index 0c3ced8d..02051901 100644 --- a/server/src/entity/customers.rs +++ b/server/src/entity/customers.rs @@ -17,7 +17,7 @@ */ use super::{bot::BotDriver, Entity, EntityContext}; use anyhow::Result; -use hurrycurry_bot::algos::Customer; +use hurrycurry_bot::algos::{Customer, CustomerConfig}; use hurrycurry_protocol::PlayerClass; use rand::random; @@ -58,7 +58,9 @@ impl Entity for Customers { "".to_string(), -1 - random::<u16>() as i32, PlayerClass::Customer, - Customer::default(), + Customer::new(CustomerConfig { + unknown_order: !c.serverdata.flags.disable_unknown_orders, + }), ); self.customers.push(bot) } |