aboutsummaryrefslogtreecommitdiff
path: root/client/game.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/game.gd')
-rw-r--r--client/game.gd23
1 files changed, 18 insertions, 5 deletions
diff --git a/client/game.gd b/client/game.gd
index 64bdb78f..c36bc643 100644
--- a/client/game.gd
+++ b/client/game.gd
@@ -45,7 +45,8 @@ var in_lobby := false
var is_replay := false
var is_joined := false
var join_sent := false
-var tutorial_running = false
+var tutorial_running := false
+var tutorial_queue := []
var last_position := Vector2(0, 0)
var players := {}
@@ -186,9 +187,12 @@ func handle_packet(p):
var player: Player = players[p.player]
var item_name: String = item_names[p.message.item]
player.item_message(item_name, timeout_initial, timeout_remaining)
- if player.is_customer and not tutorial_running and not Global.get_profile("tutorials_played").has(item_name):
- tutorial_running = true
- mp.send_chat(player_id, "/start-tutorial %s" % item_name)
+ if player.is_customer and not Global.get_profile("tutorials_played").has(item_name):
+ if tutorial_running:
+ tutorial_queue.push_back(item_name)
+ else:
+ tutorial_running = true
+ 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
@@ -197,7 +201,10 @@ func handle_packet(p):
else:
push_error("neither text, item nor effect provided")
else:
- players[p.player].clear_message()
+ var player: Player = players[p.player]
+ if player.is_customer and player.current_item_message != null:
+ tutorial_queue.erase(player.current_item_message)
+ player.clear_message()
"effect":
players[p.player].effect_message(p.name)
"set_ingame":
@@ -229,6 +236,12 @@ func handle_packet(p):
played.append(p.item)
Global.set_profile("tutorials_played", played)
Global.save_profile()
+
+ tutorial_queue.erase(p.item)
+
+ if not tutorial_queue.is_empty():
+ tutorial_running = true
+ mp.send_chat(player_id, "/start-tutorial %s" % tutorial_queue.pop_front())
"menu":
match p.menu:
"book":