diff options
Diffstat (limited to 'client/player')
| -rw-r--r-- | client/player/controllable_player.gd | 12 | 
1 files changed, 8 insertions, 4 deletions
| diff --git a/client/player/controllable_player.gd b/client/player/controllable_player.gd index 5fb99872..d329aeea 100644 --- a/client/player/controllable_player.gd +++ b/client/player/controllable_player.gd @@ -273,7 +273,7 @@ func update_interact_target_dirsnap():  			var tile_center := Vector2(offset_cursor) + Vector2(0.5, 0.5)  			if game.get_tile_interactive(offset_cursor): -				var cursor_tile_distance := (interact_target - tile_center).length() +				var cursor_tile_distance := interact_target.distance_to(tile_center)  				var player_tile_distance := Vector2(  					movement_base.position.x - tile_center.x,  					movement_base.position.z - tile_center.y @@ -288,6 +288,7 @@ func update_interact_target_dirsnap():  			# Check if there are any players on this tile.  			# If there are multilpe, remember the player closest to the center of the tile  			# (They will be the interact target) +			var best_cursor_tile_distance := 100.  			var best_player_tile_distance := 100.  			var best_player_pos: Vector3  			for p_id: int in player_positions.keys(): @@ -295,13 +296,16 @@ func update_interact_target_dirsnap():  				var p_pos: Vector3 = player_positions[p_id]  				var p_pos_2d := Vector2(p_pos.x, p_pos.z)  				var tile_center_distance := p_pos_2d.distance_to(tile_center) +				var cursor_tile_distance := interact_target.distance_to(tile_center)  				var player_tile_distance := Vector2(movement_base.position.x, movement_base.position.z).distance_to(tile_center)  				if tile_center_distance < 0.7: -					if player_tile_distance < best_player_tile_distance: +					if cursor_tile_distance < best_cursor_tile_distance: +						best_cursor_tile_distance = cursor_tile_distance  						best_player_tile_distance = player_tile_distance  						best_player_pos = p_pos -			if best_player_tile_distance < MAX_PLAYER_INTERACT_DIST && best_player_tile_distance < best_distance: +			 +			if best_player_tile_distance < MAX_PLAYER_INTERACT_DIST && best_cursor_tile_distance < best_distance:  				found_interact_target = true -				best_distance = best_player_tile_distance +				best_distance = best_cursor_tile_distance  				target_visual = best_player_pos  				target_tile = offset_cursor | 
