Character turning around & Hitbox

Godot Version

Godot 4.3

Question

` Hello there, I made up my prototype playable character with CollisionPolygon2D as hitbox, and although it fits perfectly in it when facing right, but when facing left however, it is kind of off from where it’s intended

Although I could’ve just figure these out when making those sprites, but I was wondering if I could fix it inside Godot. Also flipping doesn’t work since the sprite is asymmetrical.

Plus here is a little slice of script if it helps anything:

extends CharacterBody2D

var ACCEL = 1500
var MAXSPEED = 1500	
var BRAKES = 6
var currentspeed: int

var face = false

var standing_right_texture = preload("res://demii/standing_right.png")
var standing_left_texture = preload("res://demii/standing_left.png")
var hispeed_right_texture = preload("res://demii/right-hi.png")
var hispeed_left_texture = preload("res://demii/left-hi.png")

func _physics_process(delta: float) -> void:

	var direction := Input.get_axis("Leftkey", "Rightkey")
	if direction and abs(currentspeed) < abs(MAXSPEED):
		currentspeed += direction * ACCEL * delta
	
	if Input.is_action_pressed("Downkey") and !direction and abs(currentspeed) > 500:
		currentspeed = move_toward(currentspeed, 0, BRAKES/2)
	elif !direction:
		currentspeed = move_toward(currentspeed, 0, BRAKES*5)
		
	if direction < 0 and currentspeed > 0 and is_on_floor():
		currentspeed = move_toward(currentspeed, 0, BRAKES*10)
	
	if direction > 0 and currentspeed < 0 and is_on_floor():
		currentspeed = move_toward(currentspeed, 0, BRAKES*10)


	if currentspeed > 0:
		face = false
		$Player_Sprite.texture = hispeed_right_texture
		
	if !face and !is_on_floor():
		$Player_Sprite.texture = hispeed_right_texture
		
	elif !face and is_on_floor():
		if currentspeed < 500 and currentspeed >= 0 and !face:
			$Player_Sprite.texture = standing_right_texture
	
	if currentspeed < 0:
		face = true
		$Player_Sprite.texture = hispeed_left_texture
		
	if face and !is_on_floor():
		$Player_Sprite.texture = hispeed_left_texture
		
	elif face and is_on_floor():
		if currentspeed > -500 and currentspeed <= 0 and face:
			$Player_Sprite.texture = standing_left_texture

Regards, Godot newbie
`