File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -7,19 +7,13 @@ var frames := 0
77var rotate := 0.0
88
99func _ready ():
10- position = Caster .position
11- rotate = (goal ).angle_to_point (position )
12- if Caster .name == "Player" :
13- set_collision_mask_bit (0 , false )
10+ rotate = (goal ).angle_to_point (Caster .position )
11+ position = Caster .position + Vector2 (cos (rotate ), sin (rotate ))* 12
1412
1513func _physics_process (delta ):
16- if frames < 3 :
17- for body in $ Area .get_overlapping_bodies ():
18- if not body == self :
19- _on_body_entered (body )
20- else :
21- set_collision_mask_bit (0 , true )
22-
14+ for body in $ Area .get_overlapping_bodies ():
15+ if not body == self :
16+ _on_body_entered (body )
2317
2418 move_and_slide (Vector2 (cos (rotate ), sin (rotate ))* 200 )
2519 frames += 1
Original file line number Diff line number Diff line change @@ -16,10 +16,11 @@ script = ExtResource( 1 )
1616
1717[node name ="CollisionShape2D" type ="CollisionShape2D" parent ="." ]
1818shape = SubResource ( 1 )
19+ disabled = true
1920
2021[node name ="Area" type ="Area2D" parent ="." ]
2122collision_layer = 0
22- collision_mask = 75
23+ collision_mask = 203
2324
2425[node name ="CollisionShape2D" type ="CollisionShape2D" parent ="Area" ]
2526shape = SubResource ( 2 )
Original file line number Diff line number Diff line change @@ -8,27 +8,22 @@ var rotate := 0.0
88var gravity := 0.0
99
1010func _ready ():
11- position = Caster .position
1211 rotate = goal .angle_to_point (Caster .position )
13- if Caster .name == "Player" :
14- set_collision_mask_bit ( 0 , false )
12+ position = Caster .position + Vector2 ( cos ( rotate ), sin ( rotate ) + gravity ) * 12
13+
1514
1615func _physics_process (delta ):
1716 gravity += delta
18- if frames < 3 :
19- for body in $ Area .get_overlapping_bodies ():
20- if not body == self :
21- _on_body_entered (body )
22- else :
23- set_collision_mask_bit (0 , true )
24-
17+ for body in $ Area .get_overlapping_bodies ():
18+ if not body == self :
19+ _on_body_entered (body )
2520
2621 move_and_slide (Vector2 (cos (rotate ), sin (rotate )+ gravity )* 200 )
2722 frames += 1
2823
2924func _on_body_entered (body ):
3025 if body .has_method ("health_object" ):
31- if (is_instance_valid (Caster ) and (body != Caster or frames >= 6 )) or not is_instance_valid (Caster ):
26+ if (is_instance_valid (Caster ) and (body != Caster or frames >= 3 )) or not is_instance_valid (Caster ):
3227 body .health_object ().temp_change (- 12.0 - randf () * 6.0 )
3328 queue_free ()
3429 elif body .is_in_group ("World" ):
Original file line number Diff line number Diff line change @@ -16,13 +16,14 @@ script = ExtResource( 1 )
1616
1717[node name ="CollisionShape2D" type ="CollisionShape2D" parent ="." ]
1818shape = SubResource ( 1 )
19+ disabled = true
1920
2021[node name ="Area" type ="Area2D" parent ="." ]
22+ collision_layer = 0
23+ collision_mask = 203
2124
2225[node name ="CollisionShape2D" type ="CollisionShape2D" parent ="Area" ]
2326shape = SubResource ( 2 )
2427
2528[node name ="Sprite" type ="Sprite" parent ="." ]
2629texture = ExtResource ( 2 )
27-
28- [connection signal ="body_entered" from ="Area" to ="." method ="_on_body_entered" ]
You can’t perform that action at this time.
0 commit comments