[gd_scene load_steps=42 format=3 uid="uid://cvogxi7mktumf"] [ext_resource type="Script" uid="uid://ds3j3f82li68h" path="res://scripts/Statemachine/EntityBase.gd" id="1_mvol6"] [ext_resource type="Texture2D" uid="uid://dwwpkn4q07ja2" path="res://icon.svg" id="2_7lpu0"] [ext_resource type="AudioStream" uid="uid://cn876dtp1ypqx" path="res://resources/sounds/effect/Collect.wav" id="2_qt0aq"] [ext_resource type="PackedScene" uid="uid://dcjqjqere8ets" path="res://components/UI/EntityStateBar.tscn" id="2_uje1g"] [sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_tiuhe"] properties/0/path = NodePath(".:displayName") properties/0/spawn = true properties/0/replication_mode = 1 properties/1/path = NodePath(".:position") properties/1/spawn = true properties/1/replication_mode = 1 properties/2/path = NodePath("texture/animator/animatree:parameters/blend_position") properties/2/spawn = true properties/2/replication_mode = 1 properties/3/path = NodePath(".:health") properties/3/spawn = true properties/3/replication_mode = 1 [sub_resource type="SpriteFrames" id="SpriteFrames_wcqpm"] animations = [{ "frames": [{ "duration": 1.0, "texture": ExtResource("2_7lpu0") }], "loop": true, "name": &"idle", "speed": 5.0 }, { "frames": [], "loop": true, "name": &"walk", "speed": 5.0 }] [sub_resource type="SpriteFrames" id="SpriteFrames_tiuhe"] [sub_resource type="CircleShape2D" id="CircleShape2D_buhm1"] radius = 40.0 [sub_resource type="Animation" id="Animation_sxh2u"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".: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)] } [sub_resource type="Animation" id="Animation_vxanw"] resource_name = "left" tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".: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)] } [sub_resource type="Animation" id="Animation_nuh11"] resource_name = "left" tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".: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)] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_daot2"] _data = { &"RESET": SubResource("Animation_sxh2u"), &"left": SubResource("Animation_vxanw"), &"right": SubResource("Animation_nuh11") } [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ao5k4"] animation = &"left" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_611yr"] animation = &"right" [sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_51ube"] blend_point_0/node = SubResource("AnimationNodeAnimation_ao5k4") blend_point_0/pos = -1.0 blend_point_1/node = SubResource("AnimationNodeAnimation_611yr") blend_point_1/pos = 1.0 snap = 1.0 [sub_resource type="Animation" id="Animation_3wcjn"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".:modulate") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Color(1, 1, 1, 1)] } [sub_resource type="Animation" id="Animation_wl2we"] resource_name = "hurt" length = 0.1 step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".:modulate") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.099999994), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Color(18.892157, 18.892157, 18.892157, 1), Color(1, 1, 1, 1)] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_kbmff"] _data = { &"RESET": SubResource("Animation_3wcjn"), &"hurt": SubResource("Animation_wl2we") } [sub_resource type="Animation" id="Animation_n7kxn"] length = 0.001 tracks/0/type = "bezier" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".:scale:x") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "handle_modes": PackedInt32Array(0), "points": PackedFloat32Array(1, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0) } tracks/1/type = "bezier" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".:scale:y") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "handle_modes": PackedInt32Array(0), "points": PackedFloat32Array(1, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0) } tracks/2/type = "bezier" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath(".:modulate:a") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "handle_modes": PackedInt32Array(0), "points": PackedFloat32Array(1, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0) } [sub_resource type="Animation" id="Animation_lg0kn"] resource_name = "exit" step = 0.1 tracks/0/type = "bezier" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".:scale:x") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "handle_modes": PackedInt32Array(0, 0), "points": PackedFloat32Array(2, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0, 1) } tracks/1/type = "bezier" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".:scale:y") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "handle_modes": PackedInt32Array(0, 0), "points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0, 1) } tracks/2/type = "bezier" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath(".:modulate:a") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "handle_modes": PackedInt32Array(0, 0), "points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0, 1) } [sub_resource type="Animation" id="Animation_nfj4q"] resource_name = "exit" step = 0.1 tracks/0/type = "bezier" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath(".:scale:x") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "handle_modes": PackedInt32Array(0, 0), "points": PackedFloat32Array(1, -0.25, 0, 0.25, 0, 2, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0, 1) } tracks/1/type = "bezier" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".:scale:y") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "handle_modes": PackedInt32Array(0, 0), "points": PackedFloat32Array(1, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0, 1) } tracks/2/type = "bezier" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath(".:modulate:a") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "handle_modes": PackedInt32Array(0, 0), "points": PackedFloat32Array(1, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0, 1) } [sub_resource type="AnimationLibrary" id="AnimationLibrary_vvkcp"] _data = { &"RESET": SubResource("Animation_n7kxn"), &"enter": SubResource("Animation_lg0kn"), &"exit": SubResource("Animation_nfj4q") } [sub_resource type="Curve" id="Curve_cs3iy"] _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_r5gvu"] curve = SubResource("Curve_cs3iy") [sub_resource type="Curve" id="Curve_uf1fy"] _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_cofpe"] curve = SubResource("Curve_uf1fy") [sub_resource type="Gradient" id="Gradient_nkkgg"] colors = PackedColorArray(1, 0, 0, 1, 1, 0.84375, 0, 1) [sub_resource type="GradientTexture1D" id="GradientTexture1D_j74g5"] gradient = SubResource("Gradient_nkkgg") [sub_resource type="Gradient" id="Gradient_m6h1v"] colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) [sub_resource type="GradientTexture1D" id="GradientTexture1D_j8vyx"] gradient = SubResource("Gradient_m6h1v") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_kndb2"] particle_flag_disable_z = true emission_shape = 1 emission_sphere_radius = 50.0 angle_min = 1.07288e-05 angle_max = 360.0 angle_curve = SubResource("CurveTexture_cofpe") direction = Vector3(-1, 0, 0) spread = 15.0 initial_velocity_max = 100.0 gravity = Vector3(0, 0, 0) scale_min = 5.0 scale_max = 15.0 color_ramp = SubResource("GradientTexture1D_j8vyx") color_initial_ramp = SubResource("GradientTexture1D_j74g5") alpha_curve = SubResource("CurveTexture_r5gvu") [sub_resource type="Curve" id="Curve_bdwpn"] _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_vvfxd"] curve = SubResource("Curve_bdwpn") [sub_resource type="Curve" id="Curve_kwqoa"] _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_065by"] curve = SubResource("Curve_kwqoa") [sub_resource type="Gradient" id="Gradient_futl5"] colors = PackedColorArray(1, 0, 0, 1, 0.394531, 0, 0, 1) [sub_resource type="GradientTexture1D" id="GradientTexture1D_4n0se"] gradient = SubResource("Gradient_futl5") [sub_resource type="Gradient" id="Gradient_qttew"] colors = PackedColorArray(1, 1, 1, 1, 0.597656, 0.597656, 0.597656, 1) [sub_resource type="GradientTexture1D" id="GradientTexture1D_joqdg"] gradient = SubResource("Gradient_qttew") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_f3xas"] particle_flag_disable_z = true angle_min = 1.07288e-05 angle_max = 360.0 angle_curve = SubResource("CurveTexture_065by") direction = Vector3(-1, 0, 0) spread = 180.0 initial_velocity_max = 150.0 gravity = Vector3(0, 200, 0) scale_min = 3.0 scale_max = 8.0 color_ramp = SubResource("GradientTexture1D_joqdg") color_initial_ramp = SubResource("GradientTexture1D_4n0se") alpha_curve = SubResource("CurveTexture_vvfxd") [sub_resource type="CircleShape2D" id="CircleShape2D_34h7q"] [node name="EntityBase" type="CharacterBody2D"] script = ExtResource("1_mvol6") [node name="syncer" type="MultiplayerSynchronizer" parent="."] unique_name_in_owner = true replication_config = SubResource("SceneReplicationConfig_tiuhe") [node name="weaponStore" type="Node2D" parent="."] unique_name_in_owner = true [node name="sounds" type="Node2D" parent="."] unique_name_in_owner = true [node name="sprint" type="AudioStreamPlayer2D" parent="sounds"] [node name="heal" type="AudioStreamPlayer2D" parent="sounds"] [node name="miss" type="AudioStreamPlayer2D" parent="sounds"] [node name="hurt" type="AudioStreamPlayer2D" parent="sounds"] [node name="collect" type="AudioStreamPlayer2D" parent="sounds"] stream = ExtResource("2_qt0aq") [node name="die" type="AudioStreamPlayer2D" parent="sounds"] [node name="attack0" type="AudioStreamPlayer2D" parent="sounds"] [node name="texture" type="AnimatedSprite2D" parent="."] unique_name_in_owner = true position = Vector2(0, -50) sprite_frames = SubResource("SpriteFrames_wcqpm") animation = &"idle" [node name="staticBackground" type="Sprite2D" parent="texture"] [node name="staticAnimation" type="AnimatedSprite2D" parent="texture"] sprite_frames = SubResource("SpriteFrames_tiuhe") [node name="hurtbox" type="Area2D" parent="texture"] unique_name_in_owner = true [node name="hitbox" type="CollisionShape2D" parent="texture/hurtbox"] shape = SubResource("CircleShape2D_buhm1") [node name="animator" type="AnimationPlayer" parent="texture"] unique_name_in_owner = true libraries = { &"": SubResource("AnimationLibrary_daot2") } [node name="animatree" type="AnimationTree" parent="texture/animator"] unique_name_in_owner = true root_node = NodePath("%animator/..") tree_root = SubResource("AnimationNodeBlendSpace1D_51ube") anim_player = NodePath("..") parameters/blend_position = 1.36 [node name="hurtAnimator" type="AnimationPlayer" parent="texture"] unique_name_in_owner = true libraries = { &"": SubResource("AnimationLibrary_kbmff") } [node name="stageAnimator" type="AnimationPlayer" parent="texture"] unique_name_in_owner = true libraries = { &"": SubResource("AnimationLibrary_vvkcp") } [node name="weapons" type="Node2D" parent="texture"] unique_name_in_owner = true [node name="trailParticle" type="GPUParticles2D" parent="texture"] unique_name_in_owner = true z_index = -1 amount = 300 process_material = SubResource("ParticleProcessMaterial_kndb2") [node name="deadParticle" type="GPUParticles2D" parent="texture"] unique_name_in_owner = true emitting = false amount = 100 one_shot = true explosiveness = 1.0 process_material = SubResource("ParticleProcessMaterial_f3xas") [node name="statebar" parent="." instance=ExtResource("2_uje1g")] unique_name_in_owner = true position = Vector2(0, -100) [node name="damageAnchor" type="Node2D" parent="statebar"] unique_name_in_owner = true position = Vector2(0, -20) [node name="movebox" type="CollisionShape2D" parent="."] shape = SubResource("CircleShape2D_34h7q")