summaryrefslogtreecommitdiff
path: root/server/src/entity
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/entity')
-rw-r--r--server/src/entity/bot.rs3
-rw-r--r--server/src/entity/tutorial.rs4
2 files changed, 4 insertions, 3 deletions
diff --git a/server/src/entity/bot.rs b/server/src/entity/bot.rs
index fe4d711f..368f8c9d 100644
--- a/server/src/entity/bot.rs
+++ b/server/src/entity/bot.rs
@@ -18,7 +18,7 @@
use super::{Entity, EntityContext};
use anyhow::Result;
use hurrycurry_bot::{BotAlgo, DynBotAlgo};
-use hurrycurry_protocol::{PacketS, PlayerClass, PlayerID};
+use hurrycurry_protocol::{Hand, PacketS, PlayerClass, PlayerID};
use log::info;
use rand::random;
use std::any::Any;
@@ -72,6 +72,7 @@ impl<T: BotAlgo + Any> Entity for BotDriver<T> {
c.packet_in.push_back(PacketS::Interact {
player: self.id,
pos: input.interact,
+ hand: Hand::Left,
})
}
c.packet_in.push_back(PacketS::Movement {
diff --git a/server/src/entity/tutorial.rs b/server/src/entity/tutorial.rs
index 44244862..33c0e507 100644
--- a/server/src/entity/tutorial.rs
+++ b/server/src/entity/tutorial.rs
@@ -144,7 +144,7 @@ impl StepContext<'_> {
.game
.players
.get(&self.player)
- .is_some_and(|p| p.item.as_ref().is_some_and(|i| i.kind == item))
+ .is_some_and(|p| p.items.iter().flatten().any(|i| i.kind == item))
}
pub fn find_demand(&self, item: ItemIndex) -> Option<IVec2> {
self.ent
@@ -228,7 +228,7 @@ impl StepContext<'_> {
.game
.players
.get(&self.player)
- .is_some_and(|p| p.item.as_ref().is_some_and(|i| i.kind == item))
+ .is_some_and(|p| p.items.iter().flatten().any(|i| i.kind == item))
{
if let Some(pos) = self.find_demand(item) {
Err((Some(pos), trm!("s.tutorial.serve")))