[gd_scene load_steps=13 format=2] [ext_resource path="res://enemy.gd" type="Script" id=1] [ext_resource path="res://enemy.png" type="Texture" id=2] [ext_resource path="res://bullet.png" type="Texture" id=3] [ext_resource path="res://sound_hit.wav" type="AudioStream" id=4] [ext_resource path="res://sound_explode.wav" type="AudioStream" id=5] [sub_resource type="Animation" id=1] resource_name = "explode" length = 6.0 loop = false step = 0.0 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ 4 ] } tracks/1/type = "value" tracks/1/path = NodePath("Particles2D:emitting") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/keys = { "times": PoolRealArray( 3.47394 ), "transitions": PoolRealArray( 1 ), "update": 1, "values": [ true ] } tracks/2/type = "method" tracks/2/path = NodePath(".") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/keys = { "times": PoolRealArray( 3.20357, 5.07305 ), "transitions": PoolRealArray( 1, 1 ), "values": [ { "args": [ ], "method": "_pre_explode" }, { "args": [ ], "method": "_die" } ] } tracks/3/type = "value" tracks/3/path = NodePath("sprite:self_modulate") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/imported = false tracks/3/keys = { "times": PoolRealArray( 3.55, 4.32 ), "transitions": PoolRealArray( 1, 1 ), "update": 0, "values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ] } [sub_resource type="Animation" id=2] length = 6.75 loop = true step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolRealArray( 0, 0.75, 1.5, 2.25, 3, 3.75, 4.5, 5.25, 6, 6.75 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 1, "values": [ 5, 6, 5, 6, 5, 6, 7, 6, 7, 5 ] } [sub_resource type="Animation" id=3] resource_name = "walk" length = 1.25 loop = true step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("sprite:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/keys = { "times": PoolRealArray( 0, 0.25, 0.5, 0.75, 1, 1.25 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), "update": 1, "values": [ 0, 1, 2, 3, 4, 0 ] } [sub_resource type="CircleShape2D" id=4] custom_solver_bias = 0.0 radius = 14.0 [sub_resource type="Gradient" id=6] offsets = PoolRealArray( 0, 0.564972, 1 ) colors = PoolColorArray( 1, 1, 1, 1, 1, 1, 1, 0.915254, 1, 1, 1, 0 ) [sub_resource type="GradientTexture" id=7] gradient = SubResource( 6 ) width = 2048 [sub_resource type="ParticlesMaterial" id=8] trail_divisor = 1 emission_shape = 1 emission_sphere_radius = 20.0 flag_align_y = false flag_rotate_y = false flag_disable_z = true spread = 180.0 flatness = 0.0 gravity = Vector3( 0, 98, 0 ) initial_velocity = 322.73 initial_velocity_random = 0.0 angular_velocity = 0.0 angular_velocity_random = 0.0 orbit_velocity = 0.0 orbit_velocity_random = 0.0 linear_accel = 0.0 linear_accel_random = 0.0 radial_accel = 0.0 radial_accel_random = 0.0 tangential_accel = 0.0 tangential_accel_random = 0.0 damping = 0.0 damping_random = 0.0 angle = 0.0 angle_random = 0.0 scale = 2.4 scale_random = 0.0 color_ramp = SubResource( 7 ) hue_variation = 0.0 hue_variation_random = 0.0 anim_speed = 0.0 anim_speed_random = 0.0 anim_offset = 0.0 anim_offset_random = 0.0 anim_loop = false [node name="enemy" type="RigidBody2D"] input_pickable = false collision_layer = 1 collision_mask = 1 mode = 2 mass = 1.0 friction = 0.0 bounce = 0.0 gravity_scale = 1.0 custom_integrator = false continuous_cd = 0 contacts_reported = 4 contact_monitor = false sleeping = false can_sleep = true linear_velocity = Vector2( 0, 0 ) linear_damp = -1.0 angular_velocity = 0.0 angular_damp = -1.0 script = ExtResource( 1 ) [node name="enabler" type="VisibilityEnabler2D" parent="."] position = Vector2( 16.2569, 11.0034 ) scale = Vector2( 23.5056, 10.8629 ) rect = Rect2( -10, -10, 20, 20 ) pause_animations = true freeze_bodies = true pause_particles = false pause_animated_sprites = true process_parent = false fixed_process_parent = false [node name="anim" type="AnimationPlayer" parent="."] playback_process_mode = 1 playback_default_blend_time = 0.0 root_node = NodePath("..") anims/explode = SubResource( 1 ) anims/idle = SubResource( 2 ) anims/walk = SubResource( 3 ) playback/active = true playback/speed = 3.0 blend_times = [ ] autoplay = "" [node name="sprite" type="Sprite" parent="."] texture = ExtResource( 2 ) hframes = 8 frame = 4 [node name="shape1" type="CollisionShape2D" parent="."] position = Vector2( -1.08072, -2.16144 ) shape = SubResource( 4 ) [node name="shape2" type="CollisionShape2D" parent="."] position = Vector2( 6.48431, 3.24216 ) shape = SubResource( 4 ) [node name="shape3" type="CollisionShape2D" parent="."] position = Vector2( -12.495, 3.53415 ) shape = SubResource( 4 ) [node name="raycast_left" type="RayCast2D" parent="."] position = Vector2( -33.2868, -9.34363 ) enabled = true exclude_parent = true cast_to = Vector2( 0, 45 ) collision_layer = 1 type_mask = 15 [node name="raycast_right" type="RayCast2D" parent="."] position = Vector2( 29.1987, -9.34363 ) enabled = true exclude_parent = true cast_to = Vector2( 0, 45 ) collision_layer = 1 type_mask = 15 [node name="Particles2D" type="Particles2D" parent="."] modulate = Color( 1, 1, 1, 0.685843 ) emitting = false amount = 8 lifetime = 0.5 one_shot = true preprocess = 0.0 speed_scale = 1.0 explosiveness = 0.86 randomness = 0.0 visibility_rect = Rect2( -100, -100, 200, 200 ) local_coords = true fixed_fps = 0 fract_delta = true draw_order = 4 process_material = SubResource( 8 ) texture = ExtResource( 3 ) normal_map = null h_frames = 1 v_frames = 1 [node name="sound_hit" type="AudioStreamPlayer2D" parent="."] stream = ExtResource( 4 ) volume_db = 0.0 autoplay = false max_distance = 2000.0 attenuation = 1.0 bus = "Master" area_mask = 1 [node name="sound_explode" type="AudioStreamPlayer2D" parent="."] stream = ExtResource( 5 ) volume_db = 0.0 autoplay = false max_distance = 2000.0 attenuation = 1.0 bus = "Master" area_mask = 1