diff --git a/scenes/player.tscn b/scenes/player.tscn index 94697e4..2ec4ce2 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -121,7 +121,7 @@ bones/6/rotation = Quaternion(-0.0323581, 2.46001e-07, 8.00608e-09, 0.999476) bones/7/rotation = Quaternion(0.123965, -2.40098e-07, -2.92456e-09, 0.992287) bones/7/scale = Vector3(1, 1, 1) bones/8/rotation = Quaternion(-0.0917916, -2.67583e-15, 2.18848e-08, 0.995778) -bones/9/position = Vector3(-0.074, 0.011816, 0.0814253) +bones/9/position = Vector3(-0.0739514, 0.0118088, 0.0814874) bones/9/rotation = Quaternion(1.15202e-07, 0.707107, 0.707107, -5.33851e-08) bones/9/scale = Vector3(1, 1, 1) bones/21/rotation = Quaternion(0.19747, 0.678974, 0.678974, -0.19747) @@ -135,7 +135,7 @@ bones/45/scale = Vector3(1, 1, 1) bones/46/rotation = Quaternion(-0.0181733, 2.38379e-07, 1.14098e-08, 0.999835) bones/47/rotation = Quaternion(-1.20807e-07, 0.993087, -0.117383, 7.85287e-07) bones/49/rotation = Quaternion(-0.034235, -3.57418e-07, 8.86969e-08, 0.999414) -bones/50/rotation = Quaternion(-0.0339231, -0.706293, -0.706293, 0.0339231) +bones/50/rotation = Quaternion(-0.0755608, -0.703058, -0.703058, 0.0755608) bones/51/rotation = Quaternion(0.403888, -2.98082e-07, -3.85178e-07, 0.914808) bones/51/scale = Vector3(1, 1, 1) bones/52/rotation = Quaternion(-0.512846, 3.82068e-07, 4.27952e-07, 0.858481) diff --git a/scripts/globals/cursor.gd b/scripts/globals/cursor.gd index 08339c0..ebfb5e0 100644 --- a/scripts/globals/cursor.gd +++ b/scripts/globals/cursor.gd @@ -8,8 +8,9 @@ var _side: float # @onready var _circle: Control = $CursorBase/CursorCircle @onready var _bat: Control = $CursorBase/CursorBat -# func _ready() -> void: -# Input.mouse_mode = Input.MOUSE_MODE_HIDDEN + +func _ready() -> void: + Input.mouse_mode = Input.MOUSE_MODE_HIDDEN func _process(delta: float) -> void: @@ -20,25 +21,25 @@ func _process(delta: float) -> void: return _bat.visible = true - var player_pos_world := Referencer.player.attack.global_position - var player_pos_screen := Referencer.main_camera.unproject_position(player_pos_world) - var cursor_pos_world := player_pos_world + Referencer.player.aiming.aim_offset + var player := Referencer.player + + var cursor_pos_world := player.attack.global_position + player.aiming.aim_offset var cursor_pos_screen := Referencer.main_camera.unproject_position(cursor_pos_world) _base.position = cursor_pos_screen - _base.size / 2 _side = lerpf( _side, - ( - (PI / 2.0) - * ( - 1.0 - if Referencer.player.attack.side == PlayerAttack.Side.RIGHT - else -1.0 - ) - ), + (PI / 2.0) * (1.0 if player.attack.side == PlayerAttack.Side.LEFT else -1.0), side_change_speed * delta ) - var angle := ( - player_pos_screen.angle_to_point(_base.position + _base.size / 2) + _side + + var rotation_point_world := ( + cursor_pos_world + + player.aiming.aim_offset.normalized().rotated(Vector3.UP, _side) ) + var rotation_point_screen := Referencer.main_camera.unproject_position( + rotation_point_world + ) + + var angle := cursor_pos_screen.angle_to_point(rotation_point_screen) _bat.rotation = angle