diff options
Diffstat (limited to 'server/bot')
-rw-r--r-- | server/bot/src/algos/customer.rs | 19 | ||||
-rw-r--r-- | server/bot/src/algos/simple.rs | 2 | ||||
-rw-r--r-- | server/bot/src/algos/test.rs | 2 |
3 files changed, 7 insertions, 16 deletions
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::<u32>() as usize % game.data.demands.len()); info!("{me:?} -> waiting"); + let timeout = 90. + random::<f32>() * 60.; *self = Customer::Waiting { chair: *chair, - timeout: 90. + random::<f32>() * 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() @@ -137,13 +138,8 @@ impl BotAlgo for Customer { ..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, }, ], @@ -183,13 +179,8 @@ 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<S> 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)) |