[gd_scene load_steps=75 format=3 uid="uid://fe6exyigjb72"] [ext_resource type="Script" path="res://player.gd" id="1_d2vao"] [ext_resource type="Texture2D" uid="uid://tvalc858lt0n" path="res://Assets/Kirby/duck.png" id="1_wgfub"] [ext_resource type="Texture2D" uid="uid://gq77eigxyvci" path="res://Assets/Kirby/fall.png" id="2_udm1i"] [ext_resource type="Texture2D" uid="uid://c4gyxj3yaqiel" path="res://Assets/Kirby/idle.png" id="3_cldu0"] [ext_resource type="Texture2D" uid="uid://du6cfirv2pq7i" path="res://Assets/Kirby/inflated-transition-02.png" id="3_xbxev"] [ext_resource type="Texture2D" uid="uid://kjgx1vhvtkuf" path="res://Assets/Kirby/jump.png" id="4_c4qo5"] [ext_resource type="Texture2D" uid="uid://ba2ivfvgaoak" path="res://Assets/Kirby/fly-01.png" id="4_ueynj"] [ext_resource type="Texture2D" uid="uid://bubv8f16w2cva" path="res://Assets/Kirby/enter-door.png" id="4_xbfs5"] [ext_resource type="Texture2D" uid="uid://bvcldd1e40ppq" path="res://Assets/Kirby/exit-door.png" id="5_75qar"] [ext_resource type="Texture2D" uid="uid://crmqf762gvqnq" path="res://Assets/Kirby/fly-02.png" id="5_fk1ji"] [ext_resource type="Texture2D" uid="uid://chachjxdm83jr" path="res://Assets/Kirby/walk-01.png" id="5_xc0ju"] [ext_resource type="Texture2D" uid="uid://ceg3at8pva1da" path="res://Assets/Kirby/walk-02.png" id="6_0igly"] [ext_resource type="Texture2D" uid="uid://dvikuk84ldh4l" path="res://Assets/Kirby/inhale-02.png" id="6_bb7r4"] [ext_resource type="Texture2D" uid="uid://clk6xca5cfmn0" path="res://Assets/Kirby/walk-03.png" id="7_rh355"] [ext_resource type="Texture2D" uid="uid://b7rnngemyujar" path="res://Assets/Kirby/inflated-idle.png" id="8_vsb1l"] [ext_resource type="Texture2D" uid="uid://bplxl8ggrpoea" path="res://Assets/Kirby/inhale-01.png" id="8_xxs7c"] [ext_resource type="Texture2D" uid="uid://dm3xyxhejdyl8" path="res://Assets/Kirby/inflated-walk-01.png" id="9_4qud5"] [ext_resource type="Texture2D" uid="uid://cvxxfk1qgqcti" path="res://Assets/Kirby/fly-exhale-01.png" id="9_6xjk3"] [ext_resource type="Texture2D" uid="uid://c60ctgi67fblt" path="res://Assets/Kirby/inflated-jump.png" id="9_rgn34"] [ext_resource type="AudioStream" uid="uid://cib0bm11wfubt" path="res://Assets/Sounds/fall.wav" id="9_t30y2"] [ext_resource type="Texture2D" uid="uid://drjw1f0xi078w" path="res://Assets/Kirby/inflated-walk-02.png" id="10_46wv3"] [ext_resource type="Texture2D" uid="uid://b6ilregfg6lf5" path="res://Assets/Kirby/fly-exhale-02.png" id="10_fgigi"] [ext_resource type="AudioStream" uid="uid://2y0km5fcbw1t" path="res://Assets/Sounds/jump.wav" id="10_gmv3e"] [ext_resource type="Texture2D" uid="uid://bdbp68mhgo5xb" path="res://Assets/Kirby/inflated-exhale-01.png" id="12_qswnu"] [ext_resource type="Texture2D" uid="uid://dlmfgtkfe8s8k" path="res://Assets/Kirby/fly-transition-01.png" id="13_2mmwp"] [ext_resource type="Texture2D" uid="uid://c6yy67c1dd07v" path="res://Assets/Kirby/inflated-exhale-02.png" id="13_28jiy"] [ext_resource type="AudioStream" uid="uid://cg118tdsr3oww" path="res://Assets/Sounds/fall-2.wav" id="14_o43qk"] [ext_resource type="AudioStream" uid="uid://do315gfb7gp6e" path="res://Assets/Sounds/fly.wav" id="15_wt8kq"] [ext_resource type="Texture2D" uid="uid://beg36twmvwket" path="res://Assets/Kirby/knockout-1.png" id="17_mk1fn"] [ext_resource type="AudioStream" uid="uid://du08pwh5pbxlk" path="res://Assets/Sounds/inhale.wav" id="17_tcnsa"] [ext_resource type="AudioStream" uid="uid://dch55m1hjpa7n" path="res://Assets/Sounds/star-shot.wav" id="18_8tquw"] [ext_resource type="AudioStream" uid="uid://fc5lm052l0ci" path="res://Assets/Sounds/air-shot.wav" id="18_b0jy8"] [ext_resource type="Texture2D" uid="uid://c5qsow60trggu" path="res://Assets/Kirby/knockout-2.png" id="18_enx47"] [ext_resource type="Texture2D" uid="uid://b2smrgiobqc24" path="res://Assets/Kirby/knockout-3.png" id="19_b07rj"] [ext_resource type="Texture2D" uid="uid://dwnmiim6wpj3h" path="res://Assets/Kirby/knockout-4.png" id="20_dcmki"] [ext_resource type="Texture2D" uid="uid://v3mqtnbs3e8g" path="res://Assets/Kirby/star-shot-01.png" id="20_ptn6m"] [ext_resource type="AudioStream" uid="uid://5jbqiiboovpy" path="res://Assets/Sounds/hurt.wav" id="20_sg1wm"] [ext_resource type="Texture2D" uid="uid://dtmf5p0rijuvw" path="res://Assets/Kirby/star-shot-02.png" id="21_v2p03"] [ext_resource type="AudioStream" uid="uid://d2ag7ckd0pdc5" path="res://Assets/Sounds/no-hp.wav" id="21_y2drg"] [ext_resource type="Texture2D" uid="uid://cmmuuidovdcar" path="res://Assets/Kirby/star-shot-03.png" id="22_rqvv1"] [ext_resource type="Texture2D" uid="uid://cmf1wypv1ss5v" path="res://Assets/Kirby/star-shot-04.png" id="23_ro3gu"] [ext_resource type="Shape2D" uid="uid://dh71ux7ec8ydk" path="res://navigation_shape.tres" id="26_pm11k"] [ext_resource type="AudioStream" uid="uid://bj2jgv8dxshqs" path="res://Assets/Sounds/digest.wav" id="27_7h7h2"] [ext_resource type="Texture2D" uid="uid://cdhe6x01onj2o" path="res://Assets/Kirby/inhale-particles.png" id="28_6706u"] [ext_resource type="AudioStream" uid="uid://ddiik30kw4ua" path="res://Assets/Sounds/shot-obstacle-hit.wav" id="28_nwt8e"] [ext_resource type="AudioStream" uid="uid://denc1y7sjgm3o" path="res://Assets/Sounds/enter-door.wav" id="30_bqihm"] [ext_resource type="Texture2D" uid="uid://p5id24wo3axc" path="res://Assets/Kirby/wall-bounce.png" id="30_jvald"] [ext_resource type="AudioStream" uid="uid://brufyhxonh3jr" path="res://Assets/Music/knockout.wav" id="32_cphxk"] [ext_resource type="AudioStream" uid="uid://c71kp7jc5nf2t" path="res://Assets/Sounds/pickup.wav" id="45_ujcvn"] [sub_resource type="Gradient" id="Gradient_1p6gt"] offsets = PackedFloat32Array(0, 0.188525) [sub_resource type="GradientTexture1D" id="GradientTexture1D_i36tu"] gradient = SubResource("Gradient_1p6gt") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_aoct8"] particle_flag_disable_z = true emission_shape = 3 emission_box_extents = Vector3(16, 5, 1) angle_min = -243.4 angle_max = 1.07288e-05 direction = Vector3(-1, 0, 0) angular_velocity_min = 20.28 angular_velocity_max = 81.12 gravity = Vector3(-500, 0, 0) radial_accel_min = -100.0 radial_accel_max = 100.0 color_ramp = SubResource("GradientTexture1D_i36tu") [sub_resource type="SpriteFrames" id="SpriteFrames_nb512"] resource_local_to_scene = true animations = [{ "frames": [{ "duration": 1.0, "texture": ExtResource("3_xbxev") }, { "duration": 1.0, "texture": ExtResource("13_28jiy") }, { "duration": 1.0, "texture": ExtResource("1_wgfub") }], "loop": true, "name": &"digest", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("1_wgfub") }], "loop": true, "name": &"duck", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("4_xbfs5") }], "loop": true, "name": &"enter_door", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("5_75qar") }], "loop": true, "name": &"exit_door", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("2_udm1i") }], "loop": true, "name": &"fall", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("4_ueynj") }, { "duration": 1.0, "texture": ExtResource("5_fk1ji") }], "loop": true, "name": &"fly", "speed": 2.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("9_6xjk3") }, { "duration": 1.0, "texture": ExtResource("10_fgigi") }], "loop": true, "name": &"fly_exhale", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("3_cldu0") }], "loop": true, "name": &"idle", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("12_qswnu") }, { "duration": 1.0, "texture": ExtResource("13_2mmwp") }], "loop": true, "name": &"inflated_exhale", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("8_vsb1l") }], "loop": true, "name": &"inflated_idle", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("9_rgn34") }], "loop": true, "name": &"inflated_jump", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("9_4qud5") }, { "duration": 1.0, "texture": ExtResource("10_46wv3") }], "loop": true, "name": &"inflated_walk", "speed": 4.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("6_bb7r4") }], "loop": true, "name": &"inhale", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("8_xxs7c") }], "loop": true, "name": &"inhale_transition", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("4_c4qo5") }], "loop": true, "name": &"jump", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("17_mk1fn") }, { "duration": 1.0, "texture": ExtResource("18_enx47") }, { "duration": 1.0, "texture": ExtResource("19_b07rj") }, { "duration": 1.0, "texture": ExtResource("20_dcmki") }], "loop": true, "name": &"knockout", "speed": 8.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("5_xc0ju") }, { "duration": 1.0, "texture": ExtResource("6_0igly") }, { "duration": 1.0, "texture": ExtResource("7_rh355") }, { "duration": 1.0, "texture": ExtResource("6_0igly") }], "loop": true, "name": &"walk", "speed": 6.0 }, { "frames": [{ "duration": 1.0, "texture": ExtResource("30_jvald") }], "loop": false, "name": &"wall_bounce", "speed": 1.0 }] [sub_resource type="CircleShape2D" id="CircleShape2D_ncpg1"] radius = 8.0 [sub_resource type="CircleShape2D" id="CircleShape2D_5n68u"] radius = 8.0 [sub_resource type="SpriteFrames" id="SpriteFrames_wtu0n"] animations = [{ "frames": [{ "duration": 1.0, "texture": ExtResource("20_ptn6m") }, { "duration": 1.0, "texture": ExtResource("21_v2p03") }, { "duration": 1.0, "texture": ExtResource("22_rqvv1") }, { "duration": 1.0, "texture": ExtResource("23_ro3gu") }], "loop": true, "name": &"default", "speed": 1.0 }] [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_wya0c"] height = 24.0 [sub_resource type="Animation" id="Animation_hqb8a"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"idle"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:position") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, 0)] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("AnimatedSprite2D:frame") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [0] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("NavigationShape:shape:radius") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [7.5] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("NavigationShape:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, 0)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("HurtArea/HurtShape:position") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, 0)] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("HurtArea/HurtShape:shape:radius") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [8.0] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("CollisionArea/CollisionShape:position") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, 0)] } [sub_resource type="Animation" id="Animation_hekxe"] resource_name = "digest" length = 0.15 step = 0.05 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"digest"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.05, 0.1), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [0, 1, 2] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("AnimatedSprite2D:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0, 0.05, 0.1), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [Vector2(-4, -9), Vector2(-4, -9), Vector2(0, 0)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("NavigationShape:shape:radius") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 0.05), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [12.0, 7.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("NavigationShape:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0, 0.0492397), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(0, -4), Vector2(0, 0)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("HurtArea/HurtShape:position") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0, 0.0492397), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(0, -4), Vector2(0, 0)] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("HurtArea/HurtShape:shape:radius") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0, 0.0484795), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [13.0, 8.0] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("CollisionArea/CollisionShape:position") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0, 0.0484795), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(0, -4), Vector2(0, 0)] } [sub_resource type="Animation" id="Animation_5k0g6"] resource_name = "duck" length = 0.1 step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"duck"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [0] } [sub_resource type="Animation" id="Animation_xd0ce"] resource_name = "enter_door" step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"enter_door"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [0] } [sub_resource type="Animation" id="Animation_54067"] resource_name = "exit_door" step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"exit_door"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [0] } [sub_resource type="Animation" id="Animation_qpvoi"] resource_name = "fly" loop_mode = 1 step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"fly"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.5), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [0, 1] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("AnimatedSprite2D:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0, 0.5), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [Vector2(-4, -9), Vector2(-4, -8)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("NavigationShape:shape:radius") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [11.5] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("NavigationShape:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, -3)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("HurtArea/HurtShape:position") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, -4)] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("HurtArea/HurtShape:shape:radius") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [12.0] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("CollisionArea/CollisionShape:position") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, -4)] } [sub_resource type="Animation" id="Animation_soeb7"] resource_name = "fly_exhale" length = 0.2 step = 0.05 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"fly_exhale"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [0, 1] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("AnimatedSprite2D:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [Vector2(-4, -9), Vector2(-4, -8)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("NavigationShape:shape:radius") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [11.5, 7.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("NavigationShape:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(0, -3), Vector2(0, 0)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("HurtArea/HurtShape:position") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(0, -4), Vector2(0, 0)] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("HurtArea/HurtShape:shape:radius") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [12.0, 8.0] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("CollisionArea/CollisionShape:position") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(0, -4), Vector2(0, 0)] } [sub_resource type="Animation" id="Animation_6ns5d"] resource_name = "idle" length = 0.1 step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"idle"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [0] } [sub_resource type="Animation" id="Animation_0m5e1"] resource_name = "inflated_exhale" length = 0.2 step = 0.05 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"inflated_exhale"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [0, 1] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("AnimatedSprite2D:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [Vector2(-4, -9), Vector2(0, -8)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("NavigationShape:shape:radius") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [11.5, 7.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("NavigationShape:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(0, -4), Vector2(0, 0)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("HurtArea/HurtShape:position") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(0, -4), Vector2(0, 0)] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("HurtArea/HurtShape:shape:radius") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [12.0, 8.0] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("CollisionArea/CollisionShape:position") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0, 0.1), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector2(0, -4), Vector2(0, 0)] } [sub_resource type="Animation" id="Animation_yio3y"] resource_name = "inflated_idle" length = 0.1 step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"inflated_idle"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("AnimatedSprite2D:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [Vector2(-4, -8)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("NavigationShape:shape:radius") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [11.5] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("NavigationShape:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, -4)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("HurtArea/HurtShape:position") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, -4)] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("HurtArea/HurtShape:shape:radius") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [12.0] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("CollisionArea/CollisionShape:position") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, -4)] } [sub_resource type="Animation" id="Animation_c5bfn"] resource_name = "inflated_walk" length = 0.4 loop_mode = 1 step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"inflated_walk"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.2), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [0, 1] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("AnimatedSprite2D:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [Vector2(-4, -8)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("NavigationShape:shape:radius") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [11.5] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("NavigationShape:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, -4)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("HurtArea/HurtShape:position") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, -4)] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("HurtArea/HurtShape:shape:radius") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [12.0] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("CollisionArea/CollisionShape:position") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, -4)] } [sub_resource type="Animation" id="Animation_73rqc"] resource_name = "inhale" length = 0.1 loop_mode = 1 step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"inhale"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:position") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, -8)] } [sub_resource type="Animation" id="Animation_hh52h"] resource_name = "inhale_transition" tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"inhale_transition"] } [sub_resource type="Animation" id="Animation_12scu"] resource_name = "jump" length = 0.1 step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"jump"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("AnimatedSprite2D:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0, 0)] } [sub_resource type="Animation" id="Animation_tb4uf"] resource_name = "walk" length = 0.8 loop_mode = 1 step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"walk"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.2, 0.4, 0.6), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 1, "values": [0, 1, 2, 3] } [sub_resource type="Animation" id="Animation_kgxu5"] resource_name = "wall_bounce" length = 0.1 step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("AnimatedSprite2D:animation") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [&"wall_bounce"] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("AnimatedSprite2D:frame") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [0] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_gaqtm"] _data = { "RESET": SubResource("Animation_hqb8a"), "digest": SubResource("Animation_hekxe"), "duck": SubResource("Animation_5k0g6"), "enter_door": SubResource("Animation_xd0ce"), "exit_door": SubResource("Animation_54067"), "fly": SubResource("Animation_qpvoi"), "fly_exhale": SubResource("Animation_soeb7"), "idle": SubResource("Animation_6ns5d"), "inflated_exhale": SubResource("Animation_0m5e1"), "inflated_idle": SubResource("Animation_yio3y"), "inflated_walk": SubResource("Animation_c5bfn"), "inhale": SubResource("Animation_73rqc"), "inhale_transition": SubResource("Animation_hh52h"), "jump": SubResource("Animation_12scu"), "walk": SubResource("Animation_tb4uf"), "wall_bounce": SubResource("Animation_kgxu5") } [node name="Player" type="CharacterBody2D" groups=["player"]] collision_layer = 0 collision_mask = 18 script = ExtResource("1_d2vao") [node name="InhaleParticles" type="GPUParticles2D" parent="."] unique_name_in_owner = true texture_filter = 1 position = Vector2(18, -2) emitting = false amount = 4 process_material = SubResource("ParticleProcessMaterial_aoct8") texture = ExtResource("28_6706u") lifetime = 0.1 [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] texture_filter = 1 sprite_frames = SubResource("SpriteFrames_nb512") animation = &"idle" centered = false offset = Vector2(-8, -8) [node name="NavigationShape" type="CollisionShape2D" parent="."] shape = ExtResource("26_pm11k") debug_color = Color(0.145291, 0.463217, 5.77569e-07, 0.42) [node name="HurtArea" type="Area2D" parent="."] collision_mask = 546 [node name="HurtShape" type="CollisionShape2D" parent="HurtArea"] shape = SubResource("CircleShape2D_ncpg1") debug_color = Color(1, 0.560108, 0.528855, 0.42) [node name="CollisionArea" type="Area2D" parent="." groups=["collision_area"]] collision_mask = 198 [node name="CollisionShape" type="CollisionShape2D" parent="CollisionArea"] shape = ExtResource("26_pm11k") [node name="Camera2D" type="Camera2D" parent="."] limit_left = 0 drag_horizontal_enabled = true drag_vertical_enabled = true drag_top_margin = 0.3 drag_bottom_margin = 0.3 [node name="Sounds" type="Node" parent="."] [node name="SoundFall" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("9_t30y2") volume_db = -2.0 [node name="SoundFall2" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("14_o43qk") [node name="SoundJump" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("10_gmv3e") [node name="SoundFly" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("15_wt8kq") [node name="SoundInhale" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("17_tcnsa") [node name="SoundAirShot" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("18_b0jy8") [node name="SoundStarShot" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("18_8tquw") [node name="SoundHurt" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("20_sg1wm") [node name="SoundNoHp" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("21_y2drg") [node name="SoundDigest" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("27_7h7h2") [node name="ShotObstacleHit" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("28_nwt8e") [node name="SoundEnterDoor" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("30_bqihm") [node name="SoundKnockout" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("32_cphxk") [node name="SoundPickup" type="AudioStreamPlayer" parent="Sounds"] unique_name_in_owner = true stream = ExtResource("45_ujcvn") [node name="StarShot" type="Area2D" parent="."] position = Vector2(40, 0) collision_layer = 8 collision_mask = 518 metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="StarShot"] shape = SubResource("CircleShape2D_5n68u") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="StarShot"] texture_filter = 1 sprite_frames = SubResource("SpriteFrames_wtu0n") [node name="StarShotVisibleNotifier" type="VisibleOnScreenNotifier2D" parent="StarShot"] position = Vector2(-1.19209e-07, 5.96046e-07) scale = Vector2(0.7, 0.7) [node name="InhaleArea" type="Area2D" parent="."] unique_name_in_owner = true position = Vector2(18, 0) collision_layer = 0 collision_mask = 6 metadata/_edit_group_ = true [node name="InhaleShape" type="CollisionShape2D" parent="InhaleArea"] shape = SubResource("CapsuleShape2D_wya0c") [node name="WallDetection" type="Node2D" parent="."] [node name="Left" type="RayCast2D" parent="WallDetection"] target_position = Vector2(-9, 0) collision_mask = 16 [node name="Right" type="RayCast2D" parent="WallDetection"] target_position = Vector2(9, 0) collision_mask = 16 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] deterministic = true libraries = { "": SubResource("AnimationLibrary_gaqtm") } [node name="CoyoteTimer" type="Timer" parent="."] wait_time = 0.1 one_shot = true [node name="InhaleMinDurationTimer" type="Timer" parent="."] one_shot = true [node name="InvincibilityTimer" type="Timer" parent="."] wait_time = 2.0 one_shot = true [connection signal="area_entered" from="HurtArea" to="." method="_on_hurt_area_area_entered"] [connection signal="body_entered" from="HurtArea" to="." method="_on_hurt_area_body_entered"] [connection signal="area_entered" from="CollisionArea" to="." method="_on_collision_area_area_entered"] [connection signal="body_entered" from="CollisionArea" to="." method="_on_collision_area_body_entered"] [connection signal="body_exited" from="CollisionArea" to="." method="_on_collision_area_body_exited"] [connection signal="timeout" from="InvincibilityTimer" to="." method="_on_invincibility_timer_timeout"]