@@ -2,15 +2,12 @@ extends Node
22
33@export var actor : SpriteObject
44
5- # --- Cached Nodes ---
65var modifier_node : Node2D
76var sprite_node : Node
8-
97var parent_node : Node
108var parent_movements : Node
119@export var mesh : CustomMesh = null
1210
13- # --- State ---
1411var applied_pos : Vector2 = Vector2 .ZERO
1512var applied_rotation : float = 0.0
1613var applied_scale : Vector2 = Vector2 .ONE
@@ -32,15 +29,12 @@ var rest: bool = false
3229var index_change_len : float = 0
3330var index_change_len_y : float = 0
3431var shadow_dragger : Vector2 = Vector2 (0 ,0 )
35-
36-
3732var glob : Vector2 = Vector2 .ZERO
3833var rdrag_rad : float = 0.0
3934
4035func _ready () -> void :
4136 modifier_node = % Modifier
4237 sprite_node = % Sprite2D
43-
4438 placeholder_position = actor .global_position
4539 dragger_global = placeholder_position
4640 applied_pos = placeholder_position
@@ -50,19 +44,15 @@ func _ready() -> void:
5044
5145 modifier_node .rotation = 0.0
5246 modifier_node .scale = Vector2 .ONE
53-
5447 parent_node = actor_get_parent ()
5548 if parent_node and parent_node .has_node ("% Movements" ):
5649 parent_movements = parent_node .get_node ("% Movements" )
57-
5850 rdrag_rad = deg_to_rad (actor .get_value ("rdragStr" ))
5951
6052func _physics_process (delta : float ) -> void :
6153 follow_wiggle (delta )
6254 placeholder_position = % Modifier1 .global_position
6355 applied_pos = % Modifier1 .global_position
64- applied_rotation = 0.0
65- applied_scale = Vector2 .ONE
6656
6757 if ! Global .static_view and actor .rest_mode != 5 :
6858 if (actor .rest_mode == 2 or actor .rest_mode == 3 ) and rest :
@@ -95,8 +85,6 @@ func _physics_process(delta: float) -> void:
9585 index_change_len_y = index_change_len_y * actor .get_value ("index_change_y" )
9686 modifier_node .z_index = floori (index_change_len + index_change_len_y )
9787
98-
99-
10088func static_prev ():
10189 % Modifier .position = Vector2 (0 ,0 )
10290 % Modifier .rotation = 0.0
@@ -112,16 +100,14 @@ func static_prev():
112100func movements (delta ):
113101 if Global .static_view :
114102 return
115-
116-
117103 glob = shadow_dragger
118104 drag (delta )
119105 wobble (delta )
120106
121107 if ! actor .get_value ("ignore_bounce" ):
122108 glob -= Vector2 (Global .sprite_container .bounceChange , Global .sprite_container .bounceChange )
123109
124- var length = (glob .x - dragger_global .x ) + (glob .y - dragger_global .y )
110+ var length = (glob .x - shadow_dragger .x ) + (glob .y - shadow_dragger .y )
125111
126112 if actor .get_value ("physics" ) and parent_movements :
127113 var c_len_y = parent_movements .glob .y - parent_node .get_node ("% Modifier1" ).global_position .y
@@ -150,6 +136,9 @@ func drag(_delta):
150136 var target = placeholder_position
151137 if actor .get_value ("dragSpeed" ) == 0 :
152138 dragger_global = modifier_node .global_position
139+
140+
141+ shadow_dragger = modifier_node .global_position
153142
154143
155144 if actor .get_value ("dragSpeed" ) != 0 :
@@ -159,7 +148,7 @@ func drag(_delta):
159148 applied_pos += shadow_dragger - placeholder_position
160149
161150 else :
162- shadow_dragger = shadow_dragger .lerp (target , 0.25 )
151+ shadow_dragger = shadow_dragger .lerp (target , 0.08 )
163152
164153func wobble (_delta : float ) -> void :
165154 if actor .get_value ("pause_movement" ):
@@ -184,7 +173,6 @@ func wobble(_delta: float) -> void:
184173 return
185174 applied_pos = final
186175
187-
188176func rotationalDrag (length , delta : float ):
189177 if actor .is_default ("rot_frq" ):
190178 if actor .get_value ("pause_movement" ):
@@ -200,18 +188,14 @@ func rotationalDrag(length, delta: float):
200188 last_rot *= deg_to_rad (actor .get_value ("rdragStr" ))
201189
202190 applied_rotation = lerp_angle (applied_rotation , last_rot , 0.15 )
203-
204- var yvel = ((length * actor .get_value ("rdragStr" ))* 1.5 )* delta
205-
206-
191+ var yvel = ((length * actor .get_value ("rdragStr" )))* 0.5
207192 yvel = clamp (yvel ,actor .get_value ("rLimitMin" ),actor .get_value ("rLimitMax" ))
208-
209193 applied_rotation = lerp_angle (applied_rotation ,deg_to_rad (yvel ),0.15 )
210194
211195func stretch (length , delta ):
212- var yvel = length * (actor .get_value ("stretchAmount" ) * 0.1 ) * delta
196+ var yvel = length * (actor .get_value ("stretchAmount" ) * delta )
213197 var target = Vector2 (1.0 - yvel , 1.0 + yvel )
214- modifier_node .scale = lerp (modifier_node .scale , target , 2.55 * delta )
198+ modifier_node .scale = lerp (modifier_node .scale , target , 0.15 )
215199
216200var points_cache : Array = []
217201var points_dirty : bool = true
0 commit comments