diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/game.gd | 2 | ||||
-rw-r--r-- | client/player/player.gd | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/client/game.gd b/client/game.gd index f159077e..37404b7a 100644 --- a/client/game.gd +++ b/client/game.gd @@ -137,7 +137,7 @@ func handle_packet(p): if h != null: h.queue_free() players.erase(p.id) - player.queue_free() + player.is_despawning = true update_players.emit(players) "movement": var player_instance: Player = players[p.player] diff --git a/client/player/player.gd b/client/player/player.gd index c82cf6e6..8121bb90 100644 --- a/client/player/player.gd +++ b/client/player/player.gd @@ -41,6 +41,8 @@ var marker: Marker = preload("res://player/marker/marker.tscn").instantiate() var clear_timer: Timer = Timer.new() +var is_despawning: bool = false + var hand = [null, null] var hand_base var character_style: Dictionary @@ -170,7 +172,11 @@ func _process(delta): character.walking = walking character.boosting = boosting walking = false - movement_base.scale = Vector3.ONE * G.interpolate(movement_base.scale.x, 1, delta * 8) + if is_despawning: + movement_base.scale /= exp(delta * 8) + if movement_base.scale.length() < 0.01: self.queue_free() + else: + movement_base.scale = Vector3.ONE * G.interpolate(movement_base.scale.x, 1, delta * 8) func clear_message(): item_bubble.remove_item() |