Diffstat (limited to 'enemy/scenes/Drone.tscn')
| -rw-r--r-- | enemy/scenes/Drone.tscn | 141 |
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"] |