From b0df9b7c27a3d6316969d7feff4d912c3abf99f6 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 23 Dec 2024 15:37:11 +0100 Subject: two-handed server --- server/bot/src/algos/simple.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'server/bot/src/algos/simple.rs') diff --git a/server/bot/src/algos/simple.rs b/server/bot/src/algos/simple.rs index 14eb38c4..5a7e61a0 100644 --- a/server/bot/src/algos/simple.rs +++ b/server/bot/src/algos/simple.rs @@ -21,7 +21,7 @@ use crate::{ }; use hurrycurry_client_lib::Game; use hurrycurry_protocol::{ - glam::IVec2, ItemIndex, Message, PlayerID, Recipe, RecipeIndex, TileIndex, + glam::IVec2, Hand, ItemIndex, Message, PlayerID, Recipe, RecipeIndex, TileIndex, }; use log::{debug, warn}; @@ -106,16 +106,17 @@ impl State for Simple { impl Context<'_, S> { pub fn is_hand_item(&self, item: ItemIndex) -> bool { - self.game - .players - .get(&self.me) - .is_some_and(|p| p.item.as_ref().is_some_and(|i| i.kind == item)) + self.game.players.get(&self.me).is_some_and(|p| { + p.items[Hand::Left.index()] + .as_ref() + .is_some_and(|i| i.kind == item) + }) } pub fn is_hand_occupied(&self) -> bool { self.game .players .get(&self.me) - .map(|p| p.item.is_some()) + .map(|p| p.items[Hand::Left.index()].is_some()) .unwrap_or(false) } pub fn find_demand(&self) -> Option<(ItemIndex, IVec2)> { -- cgit v1.2.3-70-g09d2