[gd_scene load_steps=20 format=3 uid="uid://bsjy4oejfrg81"] [ext_resource type="Texture2D" uid="uid://d4d34das0e3j0" path="res://assets/graphics/monsters/bamboo/idle/0.png" id="1_em175"] [ext_resource type="Texture2D" uid="uid://l0bk7j8xiqur" path="res://assets/graphics/monsters/bamboo/idle/1.png" id="2_i1h6v"] [ext_resource type="Texture2D" uid="uid://bwe7pi6shcc2x" path="res://assets/graphics/monsters/bamboo/attack/0.png" id="2_tihvn"] [ext_resource type="Texture2D" uid="uid://damt0mr2bvcjv" path="res://assets/graphics/monsters/bamboo/idle/2.png" id="3_5ekod"] [ext_resource type="Texture2D" uid="uid://b11yb3x6h5oas" path="res://assets/graphics/monsters/bamboo/idle/3.png" id="4_0fhpn"] [ext_resource type="Script" path="res://code/bamboo.gd" id="5_ib85v"] [ext_resource type="Texture2D" uid="uid://q8yev438ec6r" path="res://assets/graphics/monsters/bamboo/move/0.png" id="7_8n247"] [ext_resource type="Texture2D" uid="uid://dqr075ilm3tu8" path="res://assets/graphics/monsters/bamboo/move/1.png" id="8_c5akp"] [ext_resource type="Texture2D" uid="uid://hcm2s3v12pkw" path="res://assets/graphics/monsters/bamboo/move/2.png" id="9_t18yx"] [ext_resource type="Texture2D" uid="uid://dqa5hvprf3kdp" path="res://assets/graphics/monsters/bamboo/move/3.png" id="10_gsrg3"] [ext_resource type="PackedScene" uid="uid://dxwjan054vgw0" path="res://scenes/notice.tscn" id="11_d502u"] [ext_resource type="PackedScene" uid="uid://c1i0nirxfagfh" path="res://scenes/attack.tscn" id="12_27c4n"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_iyhjt"] size = Vector2(24, 50) [sub_resource type="CircleShape2D" id="CircleShape2D_wx6w8"] radius = 300.0 [sub_resource type="CircleShape2D" id="CircleShape2D_crbjt"] radius = 40.0 [sub_resource type="SpriteFrames" id="SpriteFrames_2w0pn"] animations = [{ "frames": [{ "duration": 1.0, "texture": ExtResource("2_tihvn") }], "loop": true, "name": &"attack", "speed": 7.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("1_em175") }, { "duration": 1.0, "texture": ExtResource("2_i1h6v") }, { "duration": 1.0, "texture": ExtResource("3_5ekod") }, { "duration": 1.0, "texture": ExtResource("4_0fhpn") }], "loop": true, "name": &"idle", "speed": 7.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("7_8n247") }, { "duration": 1.0, "texture": ExtResource("8_c5akp") }, { "duration": 1.0, "texture": ExtResource("9_t18yx") }, { "duration": 1.0, "texture": ExtResource("10_gsrg3") }], "loop": true, "name": &"move", "speed": 7.0 }] [sub_resource type="Animation" id="Animation_lrur3"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("CollisionShape2D:disabled") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".:visible") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Attack:monitoring") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("Notice:monitoring") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath(".:collision_mask") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [6] } [sub_resource type="Animation" id="Animation_3xlxe"] resource_name = "death" tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("CollisionShape2D:disabled") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath(".:visible") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Attack:monitoring") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("Notice:monitoring") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath(".:collision_mask") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [0] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_ftwl3"] _data = { "RESET": SubResource("Animation_lrur3"), "death": SubResource("Animation_3xlxe") } [node name="Bamboo" type="CharacterBody2D"] z_index = 5 y_sort_enabled = true position = Vector2(0, -33) collision_layer = 4 collision_mask = 6 script = ExtResource("5_ib85v") health = 40 [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(0, 2) shape = SubResource("RectangleShape2D_iyhjt") [node name="Notice" parent="." instance=ExtResource("11_d502u")] position = Vector2(0, 7) [node name="CollisionShape2D" type="CollisionShape2D" parent="Notice"] shape = SubResource("CircleShape2D_wx6w8") [node name="Attack" parent="." instance=ExtResource("12_27c4n")] position = Vector2(0, 5) [node name="CollisionShape2D" type="CollisionShape2D" parent="Attack"] shape = SubResource("CircleShape2D_crbjt") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] sprite_frames = SubResource("SpriteFrames_2w0pn") animation = &"idle" autoplay = "idle" [node name="AttackTimer" type="Timer" parent="."] [node name="KnockbackTimer" type="Timer" parent="."] wait_time = 0.5 one_shot = true [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { "": SubResource("AnimationLibrary_ftwl3") } [connection signal="death" from="." to="." method="_on_death"] [connection signal="body_entered" from="Notice" to="." method="_on_notice_body_entered"] [connection signal="body_exited" from="Notice" to="." method="_on_notice_body_exited"] [connection signal="body_entered" from="Attack" to="." method="_on_attack_body_entered"] [connection signal="body_exited" from="Attack" to="." method="_on_attack_body_exited"] [connection signal="timeout" from="AttackTimer" to="." method="_on_attack_timer_timeout"] [connection signal="timeout" from="KnockbackTimer" to="." method="_on_knockback_timer_timeout"]