Diffstat (limited to 'enemy/scenes/Drone.tscn')
-rw-r--r--enemy/scenes/Drone.tscn141
1 files changed, 141 insertions, 0 deletions
diff --git a/enemy/scenes/Drone.tscn b/enemy/scenes/Drone.tscn
new file mode 100644
index 0000000..df92f7f
--- /dev/null
+++ b/enemy/scenes/Drone.tscn
@@ -0,0 +1,141 @@
+[gd_scene load_steps=7 format=2]
+
+[ext_resource path="res://enemy/scripts/Drone.gd" type="Script" id=1]
+[ext_resource path="res://sprites/drone_base.png" type="Texture" id=2]
+[ext_resource path="res://sprites/turret.png" type="Texture" id=3]
+
+[sub_resource type="CircleShape2D" id=1]
+radius = 18.0278
+
+[sub_resource type="Animation" id=3]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/path = NodePath("turret:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 0,
+"values": [ 1 ]
+}
+
+[sub_resource type="Animation" id=2]
+resource_name = "firing"
+length = 0.5
+tracks/0/type = "value"
+tracks/0/path = NodePath("shootsfx:playing")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/keys = {
+"times": PoolRealArray( 0 ),
+"transitions": PoolRealArray( 1 ),
+"update": 1,
+"values": [ true ]
+}
+tracks/1/type = "value"
+tracks/1/path = NodePath("turret:frame")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/keys = {
+"times": PoolRealArray( 0, 0.2, 0.5 ),
+"transitions": PoolRealArray( 1, 1, 1 ),
+"update": 1,
+"values": [ 0, 1, 0 ]
+}
+tracks/2/type = "method"
+tracks/2/path = NodePath(".")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/keys = {
+"times": PoolRealArray( 0.3 ),
+"transitions": PoolRealArray( 1 ),
+"values": [ {
+"args": [ ],
+"method": "spawn_bullet"
+} ]
+}
+tracks/3/type = "value"
+tracks/3/path = NodePath("appearFlash:visible")
+tracks/3/interp = 1
+tracks/3/loop_wrap = true
+tracks/3/imported = false
+tracks/3/enabled = true
+tracks/3/keys = {
+"times": PoolRealArray( 0.4 ),
+"transitions": PoolRealArray( 1 ),
+"update": 1,
+"values": [ true ]
+}
+
+[node name="Drone" type="RigidBody2D"]
+collision_layer = 34
+gravity_scale = 0.0
+script = ExtResource( 1 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource( 1 )
+
+[node name="base" type="Sprite" parent="."]
+texture = ExtResource( 2 )
+
+[node name="turret" type="Sprite" parent="."]
+texture = ExtResource( 3 )
+centered = false
+offset = Vector2( -1, -4 )
+hframes = 2
+frame = 1
+
+[node name="appearFlash" type="Sprite" parent="."]
+
+[node name="Tween" type="Tween" parent="."]
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+anims/RESET = SubResource( 3 )
+anims/firing = SubResource( 2 )
+
+[node name="shootCooldown" type="Timer" parent="."]
+
+[node name="rays" type="Node2D" parent="."]
+
+[node name="RayCast2D" type="RayCast2D" parent="rays"]
+position = Vector2( 0, 17 )
+enabled = true
+collision_mask = 32777
+collide_with_areas = true
+
+[node name="RayCast2D2" type="RayCast2D" parent="rays"]
+position = Vector2( 17, 0 )
+rotation = -1.5708
+enabled = true
+collision_mask = 32777
+collide_with_areas = true
+
+[node name="RayCast2D3" type="RayCast2D" parent="rays"]
+position = Vector2( 0, -17 )
+rotation = 3.14159
+enabled = true
+collision_mask = 32777
+collide_with_areas = true
+
+[node name="RayCast2D4" type="RayCast2D" parent="rays"]
+position = Vector2( -17, 0 )
+rotation = 1.5708
+enabled = true
+collision_mask = 32777
+collide_with_areas = true
+
+[node name="Camera2D" type="Camera2D" parent="."]
+
+[node name="shootsfx" type="AudioStreamPlayer" parent="."]
+
+[connection signal="body_entered" from="." to="." method="_on_Drone_body_entered"]
+[connection signal="timeout" from="shootCooldown" to="." method="shoot"]