From 3184a6b75666cc07510065c90d83c0ff25e4c8ba Mon Sep 17 00:00:00 2001 From: Alexander Nortung Date: Tue, 13 Jul 2021 23:18:40 +0200 Subject: [PATCH] Bugfix: player will not move upon respawning, from previous knockback or input. --- common/game/Player.gd | 7 +++++++ server/game/ServerPlayer.gd | 16 +++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/common/game/Player.gd b/common/game/Player.gd index 27d3e6f..2342aa8 100644 --- a/common/game/Player.gd +++ b/common/game/Player.gd @@ -102,6 +102,7 @@ func kill_player(is_dead): set_process(!is_dead) set_physics_process(!is_dead) set_process_input(!is_dead) + reset_motion() self.call_deferred("set_collision", is_dead) self.set_visible(!is_dead) if has_flag(): @@ -109,6 +110,12 @@ func kill_player(is_dead): pickedUpFlag = null spawn() +# called when the player dies +func reset_motion(): + motion = Vector2.ZERO + knockbackTimeLeft = 0 + + func set_collision(value: bool): $WorldCollider.set_disabled(value) $InteractiveKinematicBody/InteractiveCollider.set_disabled(value) diff --git a/server/game/ServerPlayer.gd b/server/game/ServerPlayer.gd index 88e228c..b7202ec 100644 --- a/server/game/ServerPlayer.gd +++ b/server/game/ServerPlayer.gd @@ -1,12 +1,10 @@ extends "res://common/game/Player.gd" -var server_axis = { - x = 0, - y = 0, -} - -var server_direction = Vector2(0,0) +# movement direction +var server_axis = Vector2.ZERO +# Look direction +var server_direction = Vector2.ZERO puppet func network_update(networkAxis: Vector2): server_axis = networkAxis @@ -48,4 +46,8 @@ func get_projectile_direction(): var dir = get_direction() if weapon == null: return dir - return weapon.add_random_accuracy(dir) \ No newline at end of file + return weapon.add_random_accuracy(dir) + +func kill_player(is_dead): + .kill_player(is_dead) + server_axis = Vector2.ZERO \ No newline at end of file