diff options
-rw-r--r-- | server/src/entity/tutorial.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/server/src/entity/tutorial.rs b/server/src/entity/tutorial.rs index d33f14ea..66533119 100644 --- a/server/src/entity/tutorial.rs +++ b/server/src/entity/tutorial.rs @@ -199,8 +199,18 @@ impl<'a> StepContext<'a> { self.aquire_item(item)?; *self.had_aquired_target = true; } - if let Some(pos) = self.find_demand(item) { - Err((Some(pos), trm!("s.tutorial.serve"))) + if self + .ent + .game + .players + .get(&self.player) + .map_or(false, |p| p.item.as_ref().map_or(false, |i| i.kind == item)) + { + if let Some(pos) = self.find_demand(item) { + Err((Some(pos), trm!("s.tutorial.serve"))) + } else { + Ok(()) + } } else { Ok(()) } |