[gd_scene format=3 uid="uid://bjptrvvfk00r"] [ext_resource type="Script" uid="uid://iwxi6s8i6j81" path="res://assets/scripts/enemy.gd" id="1_kvq5h"] [ext_resource type="Script" uid="uid://ca8an62xpl0e4" path="res://assets/scripts/disposableParticles.gd" id="2_7yqym"] [ext_resource type="AudioStream" uid="uid://5b7eonllfufp" path="res://assets/sounds/hitHurt.wav" id="2_ag6wx"] [ext_resource type="AudioStream" uid="uid://d3ok8rhcq4kmr" path="res://assets/sounds/shootEnemy.wav" id="3_yw082"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_xyegg"] size = Vector2(30, 30) [sub_resource type="Animation" id="Animation_kvq5h"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Polygon2D:scale") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(1, 1)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Polygon2D:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [1.5707964] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Polygon2D:color") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Color(0.6166668, 0, 1, 1)] } [sub_resource type="Animation" id="Animation_ag6wx"] resource_name = "flash" length = 0.5 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = false tracks/0/path = NodePath("Polygon2D:color") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0.06666667, 0.16666667, 0.3), "transitions": PackedFloat32Array(3.605001, 3.732124, 1), "update": 0, "values": [Color(0.6166668, 0, 1, 1), Color(1, 1, 1, 1), Color(0.6156863, 0, 1, 1)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Polygon2D:scale") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.13333334, 0.5), "transitions": PackedFloat32Array(4.1410594, 0.34151012, 1), "update": 0, "values": [Vector2(1, 1), Vector2(0.3, 0.3), Vector2(1, 1)] } [sub_resource type="Animation" id="Animation_kbpvo"] resource_name = "shoot" length = 0.4 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Polygon2D:scale") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.1, 0.4), "transitions": PackedFloat32Array(0.13869622, 2, 0.73204285), "update": 0, "values": [Vector2(1, 1), Vector2(1.2, 0.5), Vector2(1, 1)] } [sub_resource type="Animation" id="Animation_fg8cn"] resource_name = "spawn" length = 0.8 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Polygon2D:scale") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.33333334, 0.8), "transitions": PackedFloat32Array(0.36602157, 1.0352651, 3.1383355), "update": 0, "values": [Vector2(0, 0), Vector2(1.25, 1.25), Vector2(1, 1)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Polygon2D:rotation") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.6), "transitions": PackedFloat32Array(1.8025008, 1), "update": 0, "values": [0.0, 1.5707963267948966] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_55kjn"] _data = { &"RESET": SubResource("Animation_kvq5h"), &"flash": SubResource("Animation_ag6wx"), &"shoot": SubResource("Animation_kbpvo"), &"spawn": SubResource("Animation_fg8cn") } [sub_resource type="Curve" id="Curve_xyegg"] _data = [Vector2(0.66548043, 0.9809523), 0.0, 0.0, 0, 0, Vector2(1, 0.009523869), 0.0, 0.0, 0, 0] point_count = 2 [sub_resource type="Gradient" id="Gradient_pymst"] offsets = PackedFloat32Array(0, 0.69411767, 0.69803923, 0.8745098, 1) colors = PackedColorArray(1, 1, 1, 1, 0.48555556, 0.48555556, 0.48555556, 1, 0.46, 0.46, 0.46, 1, 0.51, 0.51, 0.51, 1, 1, 1, 1, 0) [node name="Enemy" type="CharacterBody2D" unique_id=1421049985] collision_layer = 16 collision_mask = 16 script = ExtResource("1_kvq5h") metadata/enemy = 1 [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1723115153] visible = false shape = SubResource("RectangleShape2D_xyegg") [node name="Polygon2D" type="Polygon2D" parent="." unique_id=274914633] rotation = 1.5707964 color = Color(0.6166668, 0, 1, 1) polygon = PackedVector2Array(-14.999999, 15.000001, -14.999999, 15.000001, -15.000001, -14.999999, 14.999999, -15.000001, 15.000001, 14.999999) [node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1072188506] libraries/ = SubResource("AnimationLibrary_55kjn") [node name="NavigationAgent2D" type="NavigationAgent2D" parent="." unique_id=1305506168] [node name="Timer" type="Timer" parent="." unique_id=437715343] wait_time = 0.1 autostart = true [node name="RayCast2D" type="RayCast2D" parent="." unique_id=957428599] target_position = Vector2(400, 0) collision_mask = 512 [node name="explode" type="CPUParticles2D" parent="." unique_id=1638487851] z_index = -3 emitting = false amount = 20 lifetime = 10.0 one_shot = true explosiveness = 1.0 spread = 180.0 gravity = Vector2(0, 0) initial_velocity_min = 20.0 initial_velocity_max = 50.0 linear_accel_min = -25.0 linear_accel_max = -25.0 scale_amount_min = 8.0 scale_amount_max = 16.0 scale_amount_curve = SubResource("Curve_xyegg") color = Color(0.45342964, 0.0022321118, 0.7445152, 1) color_ramp = SubResource("Gradient_pymst") script = ExtResource("2_7yqym") [node name="ColorRect" type="ColorRect" parent="." unique_id=1205892242] offset_left = -15.0 offset_top = -21.0 offset_right = 15.0 offset_bottom = -18.0 color = Color(1, 1, 1, 0.2509804) [node name="health" type="ColorRect" parent="." unique_id=1962272317] offset_left = -15.0 offset_top = -21.0 offset_right = 15.0 offset_bottom = -18.0 color = Color(0.8124417, 0, 0.111754455, 1) [node name="hitsfx" type="AudioStreamPlayer2D" parent="." unique_id=2128530763] stream = ExtResource("2_ag6wx") [node name="shootsfx" type="AudioStreamPlayer2D" parent="." unique_id=408136521] stream = ExtResource("3_yw082") volume_db = -10.0 [node name="snappie" type="Timer" parent="." unique_id=807725500] wait_time = 0.05 autostart = true ignore_time_scale = true [connection signal="timeout" from="Timer" to="." method="_on_new_path"] [connection signal="timeout" from="snappie" to="." method="_on_snappie_timeout"]