The first avoids falling off ledges, the second falls only off of safe ledges and the thirds darts towards the player when he is touching the same unobstructed ground it is on.
72 lines
2.3 KiB
Plaintext
72 lines
2.3 KiB
Plaintext
[gd_scene load_steps=6 format=2]
|
|
|
|
[ext_resource path="res://assets/enemy/enemy.png" type="Texture" id=1]
|
|
[ext_resource path="res://src/Actors/Enemies/Beings/SimpleEnemy.gd" type="Script" id=2]
|
|
|
|
[sub_resource type="RectangleShape2D" id=1]
|
|
extents = Vector2( 2.72463, 1.17848 )
|
|
|
|
[sub_resource type="RectangleShape2D" id=2]
|
|
extents = Vector2( 15.4794, 6.68174 )
|
|
|
|
[sub_resource type="RectangleShape2D" id=3]
|
|
extents = Vector2( 15.534, 10.0962 )
|
|
|
|
[node name="SimpleEnemy" type="KinematicBody2D" groups=["harmful"]]
|
|
collision_layer = 2
|
|
collision_mask = 9
|
|
script = ExtResource( 2 )
|
|
|
|
[node name="enemy" type="Sprite" parent="."]
|
|
position = Vector2( 0, -1.90735e-06 )
|
|
scale = Vector2( 0.286789, 0.276348 )
|
|
texture = ExtResource( 1 )
|
|
|
|
[node name="VisibilityEnabler2D" type="VisibilityEnabler2D" parent="."]
|
|
position = Vector2( 1362.81, -0.138177 )
|
|
scale = Vector2( 15.4865, 1.28502 )
|
|
rect = Rect2( -89, -10, 2, 20 )
|
|
process_parent = true
|
|
physics_process_parent = true
|
|
|
|
[node name="EnemyBody" type="CollisionShape2D" parent="." groups=["harmful"]]
|
|
position = Vector2( 0, 6.48802 )
|
|
scale = Vector2( 5.68128, 5.29182 )
|
|
shape = SubResource( 1 )
|
|
|
|
[node name="StompDetector" type="Area2D" parent="." groups=["weakpoint"]]
|
|
modulate = Color( 0, 0.0392157, 1, 1 )
|
|
position = Vector2( 0, -6.44095 )
|
|
collision_layer = 2
|
|
input_pickable = false
|
|
|
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="StompDetector"]
|
|
shape = SubResource( 2 )
|
|
|
|
[node name="LedgeDetectorRays" type="Node2D" parent="."]
|
|
position = Vector2( -14, 12 )
|
|
|
|
[node name="RayCast2D" type="RayCast2D" parent="LedgeDetectorRays"]
|
|
position = Vector2( 1, 0 )
|
|
enabled = true
|
|
cast_to = Vector2( 0, 2 )
|
|
collision_mask = 120
|
|
|
|
[node name="RayCast2D2" type="RayCast2D" parent="LedgeDetectorRays"]
|
|
position = Vector2( 27, 0 )
|
|
enabled = true
|
|
cast_to = Vector2( 0, 2 )
|
|
collision_mask = 120
|
|
|
|
[node name="EnemySkin" type="Area2D" parent="." groups=["player"]]
|
|
process_priority = -1
|
|
collision_mask = 126
|
|
|
|
[node name="CollisionPolygon2D" type="CollisionShape2D" parent="EnemySkin"]
|
|
position = Vector2( 5.96046e-07, 2.5 )
|
|
scale = Vector2( 1.03, 1.04 )
|
|
shape = SubResource( 3 )
|
|
|
|
[connection signal="body_entered" from="StompDetector" to="." method="_on_StompDetector_body_entered"]
|
|
[connection signal="area_entered" from="EnemySkin" to="." method="_on_EnemySkin_area_entered"]
|