diff options
Diffstat (limited to 'client/game.gd')
-rw-r--r-- | client/game.gd | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/client/game.gd b/client/game.gd index 13d7403a..89a8f0f1 100644 --- a/client/game.gd +++ b/client/game.gd @@ -59,7 +59,7 @@ var in_lobby := false var is_replay := false var tutorial_running := false var tutorial_queue := [] -var last_position := Vector2(0, 0) +var last_position = null # : Vector2? var players := {} @@ -131,6 +131,7 @@ func handle_packet(p): if p.id == my_player_id: set_join_state(JoinState.SPECTATING) follow_camera.target = $Center + last_position = null for h in player.hand: if h != null: h.queue_free() @@ -138,13 +139,15 @@ func handle_packet(p): player.is_despawning = true update_players.emit(players) "movement": + if not players.has(p.player): return var player_instance: Player = players[p.player] player_instance.update_position(p.pos, p.rot, p.boost) if p.player == my_player_id: last_position = p.pos "movement_sync": if not players.has(my_player_id): return var player_instance: ControllablePlayer = players[my_player_id] - player_instance.position_ = last_position + if last_position != null: + player_instance.position_ = last_position "move_item": if "player" in p.from and "player" in p.to: players[p.from.player[0]].pass_to(players[p.to.player[0]], int(p.from.player[1]), int(p.to.player[1])) @@ -317,6 +320,8 @@ func handle_packet(p): menu.submenu("res://menu/document/document.tscn", p["data"]) "score": menu.submenu("res://menu/rating/rating.tscn", [p.data.stars, p.data.points]) + "announce_start": + overlay.announce_start() "server_message": var mstr := get_message_str(p.message) if p.error: |