summaryrefslogtreecommitdiff
path: root/server/src/entity/tutorial.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/entity/tutorial.rs')
-rw-r--r--server/src/entity/tutorial.rs24
1 files changed, 22 insertions, 2 deletions
diff --git a/server/src/entity/tutorial.rs b/server/src/entity/tutorial.rs
index 3189687b..1d28f13e 100644
--- a/server/src/entity/tutorial.rs
+++ b/server/src/entity/tutorial.rs
@@ -211,6 +211,13 @@ impl<'a> StepContext<'a> {
}
}
fn fulfil_demand(&mut self, item: ItemIndex) -> Result<(), (Option<IVec2>, Message)> {
+ if self.ent.game.data.item_name(item) == "unknown-order" {
+ return if let Some(pos) = self.find_demand(item) {
+ Err((Some(pos), trm!("s.tutorial.accept_order")))
+ } else {
+ Ok(())
+ };
+ }
if !*self.had_aquired_target {
self.prevent_burning()?;
self.aquire_item(item)?;
@@ -264,7 +271,16 @@ impl<'a> StepContext<'a> {
} => {
let apos = self.aquire_placed_item(*a)?;
self.aquire_item(*b)?;
- return Err((Some(apos), trm!("s.tutorial.interact")));
+ let aname = self.ent.game.data.item_name(*a);
+ let bname = self.ent.game.data.item_name(*b);
+ return Err((
+ Some(apos),
+ if aname.starts_with("plate:") || bname.starts_with("plate:") {
+ trm!("s.tutorial.interact_plate")
+ } else {
+ trm!("s.tutorial.interact")
+ },
+ ));
}
Recipe::Instant {
tile: None,
@@ -291,7 +307,11 @@ impl<'a> StepContext<'a> {
self.aquire_item(*input)?;
return Err((
Some(pos),
- trm!("s.tutorial.active", s = format!("{:.01}", 1. / speed)),
+ if self.ent.game.data.tile_name(*tile) == "cuttingboard" {
+ trm!("s.tutorial.active_cuttingboard")
+ } else {
+ trm!("s.tutorial.active", s = format!("{:.01}", 1. / speed))
+ },
));
}
}