aboutsummaryrefslogtreecommitdiff
path: root/client/game.gd
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2025-08-26 23:05:03 +0200
committertpart <tpart120@proton.me>2025-08-26 23:05:03 +0200
commit34285add925cee5c3b27af7238ed52f61f376ef9 (patch)
tree86f32bc619850c7564c59af3dab04f139dbd61e2 /client/game.gd
parentf7c95ce30281125d9eb1f28f0633bc8454c1dd58 (diff)
downloadhurrycurry-34285add925cee5c3b27af7238ed52f61f376ef9.tar
hurrycurry-34285add925cee5c3b27af7238ed52f61f376ef9.tar.bz2
hurrycurry-34285add925cee5c3b27af7238ed52f61f376ef9.tar.zst
Add Ready? Go! message on game start; Fix various bugs
Diffstat (limited to 'client/game.gd')
-rw-r--r--client/game.gd9
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: