summaryrefslogtreecommitdiff
path: root/client/game.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/game.gd')
-rw-r--r--client/game.gd30
1 files changed, 20 insertions, 10 deletions
diff --git a/client/game.gd b/client/game.gd
index 875e5fa7..c86906b6 100644
--- a/client/game.gd
+++ b/client/game.gd
@@ -187,14 +187,22 @@ func handle_packet(p):
if "item" in p.message:
var player: Player = players[p.player]
var item_name: String = item_names[p.message.item]
+ var parsed_item := Global.ParsedItem.new(item_name)
+ var ingredients := [parsed_item.name]
+ ingredients.append_array(parsed_item.contents)
player.item_message(item_name, timeout_initial, timeout_remaining)
- if player.is_customer and not Global.get_profile("tutorials_played").has(item_name) and not Global.get_setting("gameplay.tutorial_disabled"):
- if tutorial_running:
- tutorial_queue.push_back(item_name)
- else:
- tutorial_running = true
- update_tutorial_running.emit(tutorial_running)
- mp.send_chat(player_id, "/start-tutorial %s" % item_name)
+
+ if player.is_customer and not Global.get_setting("gameplay.tutorial_disabled"):
+ var completed_ingredients: Array = Global.get_profile("tutorial_ingredients_played")
+ var completed := Global.array_has_all(completed_ingredients, ingredients)
+
+ if not completed:
+ if tutorial_running:
+ tutorial_queue.push_back(item_name)
+ else:
+ tutorial_running = true
+ update_tutorial_running.emit(tutorial_running)
+ mp.send_chat(player_id, "/start-tutorial %s" % item_name)
elif "text" in p.message:
players[p.player].text_message(p.message.text, timeout_initial, timeout_remaining)
var username: String = players[p.player].username
@@ -240,9 +248,11 @@ func handle_packet(p):
update_tutorial_running.emit(tutorial_running)
if p.success:
- var played: Array = Global.get_profile("tutorials_played")
- played.append(item_names[p.item])
- Global.set_profile("tutorials_played", played)
+ var completed_item := Global.ParsedItem.new(item_names[p.item])
+ var played: Array = Global.get_profile("tutorial_ingredients_played")
+ played.append(completed_item.name)
+ played.append_array(completed_item.contents)
+ Global.set_profile("tutorial_ingredients_played", played)
Global.save_profile()
while item_names[p.item] in tutorial_queue: