diff options
-rw-r--r-- | client/game.gd | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/client/game.gd b/client/game.gd index 849f970b..aff4d984 100644 --- a/client/game.gd +++ b/client/game.gd @@ -409,21 +409,22 @@ func update_center(): spectate_free() func spectate_center(): - var no_chefs = true + var any_chefs = false for v in players.values(): - no_chefs = no_chefs or v.is_chef + any_chefs = any_chefs or v.is_chef + var no_chefs = not any_chefs var sum: int = 0 var center: Vector3 = Vector3(0.,0.,0.) - for v in players.values(): - var p: Player = v - sum += 1 - center += p.movement_base.position + for p in players.values(): + if p.is_chef or no_chefs: + sum += 1 + center += p.movement_base.position var bmin = Vector2.INF var bmax = -Vector2.INF for p in players.values(): - if !p.is_customer or no_chefs: + if p.is_chef or no_chefs: bmin.x = min(bmin.x, p.movement_base.position.x) bmin.y = min(bmin.y, p.movement_base.position.z) bmax.x = max(bmax.x, p.movement_base.position.x) @@ -432,10 +433,10 @@ func spectate_center(): if sum > 0: $Center.position = center / sum - $FollowCamera.camera_distance_target = max(extent * 2, 5) + $FollowCamera.camera_distance_target = max(extent * 2, 8) elif sum > 0: $Center.position = center / sum - $FollowCamera.camera_distance_target = max(extent * 2, 5) + $FollowCamera.camera_distance_target = max(extent * 2, 8) else: var extents = map.extents() var map_center = ((extents[0] + extents[1]) / 2) + Vector2(.5, .5) |