From 1cb35341481cb76feb5bb794a304d1c4e3c7b372 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 15 Aug 2024 21:17:23 +0200 Subject: message timeout replaces persist --- server/bot/src/algos/customer.rs | 19 +++++-------------- server/bot/src/algos/simple.rs | 2 +- server/bot/src/algos/test.rs | 2 +- 3 files changed, 7 insertions(+), 16 deletions(-) (limited to 'server/bot/src') diff --git a/server/bot/src/algos/customer.rs b/server/bot/src/algos/customer.rs index 9c0ce210..2e0a45b4 100644 --- a/server/bot/src/algos/customer.rs +++ b/server/bot/src/algos/customer.rs @@ -91,16 +91,17 @@ impl BotAlgo for Customer { if path.is_done() { let demand = DemandIndex(random::() as usize % game.data.demands.len()); info!("{me:?} -> waiting"); + let timeout = 90. + random::() * 60.; *self = Customer::Waiting { chair: *chair, - timeout: 90. + random::() * 60., + timeout, demand, origin: *origin, }; BotInput { extra: vec![PacketS::Communicate { message: Some(Message::Item(game.data.demands[demand.0].input)), - persist: true, + timeout: Some(timeout), player: me, }], ..Default::default() @@ -136,14 +137,9 @@ impl BotAlgo for Customer { demands_failed: 1, ..Default::default() }), - PacketS::Communicate { - message: None, - persist: true, - player: me, - }, PacketS::Communicate { message: Some(Message::Effect("angry".to_string())), - persist: false, + timeout: None, player: me, }, ], @@ -182,14 +178,9 @@ impl BotAlgo for Customer { }; BotInput { extra: vec![ - PacketS::Communicate { - persist: true, - message: None, - player: me, - }, PacketS::Communicate { message: Some(Message::Effect("satisfied".to_string())), - persist: false, + timeout: None, player: me, }, PacketS::Interact { diff --git a/server/bot/src/algos/simple.rs b/server/bot/src/algos/simple.rs index 1be2cddc..27493d74 100644 --- a/server/bot/src/algos/simple.rs +++ b/server/bot/src/algos/simple.rs @@ -123,7 +123,7 @@ impl Context<'_, S> { .players .iter() .find_map(|(_, pl)| match &pl.communicate_persist { - Some(Message::Item(item)) => { + Some((Message::Item(item), _)) => { let pos = pl.movement.position.as_ivec2(); [IVec2::X, IVec2::Y, -IVec2::X, -IVec2::Y] .into_iter() diff --git a/server/bot/src/algos/test.rs b/server/bot/src/algos/test.rs index a47befa9..73368de2 100644 --- a/server/bot/src/algos/test.rs +++ b/server/bot/src/algos/test.rs @@ -59,7 +59,7 @@ fn find_demand(game: &Game) -> Option<(ItemIndex, IVec2)> { game.players .iter() .find_map(|(_, pl)| match &pl.communicate_persist { - Some(Message::Item(item)) => { + Some((Message::Item(item), _)) => { let pos = pl.movement.position.as_ivec2(); let t = pos; Some((*item, t)) -- cgit v1.2.3-70-g09d2