summaryrefslogtreecommitdiff
path: root/Player.tscn
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2024-09-20 22:12:44 +0200
committerDaniel Weipert <git@mail.dweipert.de>2024-09-20 22:12:44 +0200
commita38f65c261e9d7b23d046cb76b5aeedc05c4b54d (patch)
tree8cc96d41dc44b75ac1e9f2b95735af7c753a7c74 /Player.tscn
parent3fdb011ef62249a514a8eba2556cc9f6ea5ea477 (diff)
next commit
Diffstat (limited to 'Player.tscn')
-rw-r--r--Player.tscn1074
1 files changed, 1023 insertions, 51 deletions
diff --git a/Player.tscn b/Player.tscn
index ec10378..19d5567 100644
--- a/Player.tscn
+++ b/Player.tscn
@@ -1,9 +1,10 @@
-[gd_scene load_steps=53 format=3 uid="uid://fe6exyigjb72"]
+[gd_scene load_steps=73 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"]
@@ -16,32 +17,38 @@
[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/ko-1.png" id="17_mk1fn"]
+[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/ko-2.png" id="18_enx47"]
-[ext_resource type="Texture2D" uid="uid://bqj81fpych85a" path="res://Assets/Kirby/star-small.png" id="18_jg7ph"]
-[ext_resource type="Texture2D" uid="uid://d0u6jw880abmk" path="res://Assets/Kirby/air-shoot.png" id="19_8bfby"]
-[ext_resource type="Texture2D" uid="uid://b2smrgiobqc24" path="res://Assets/Kirby/ko-3.png" id="19_b07rj"]
-[ext_resource type="Texture2D" uid="uid://dwnmiim6wpj3h" path="res://Assets/Kirby/ko-4.png" id="20_dcmki"]
+[ext_resource type="Texture2D" uid="uid://c5qsow60trggu" path="res://Assets/Kirby/knockout-2.png" id="18_enx47"]
+[ext_resource type="Texture2D" uid="uid://d0u6jw880abmk" path="res://Assets/Kirby/air-shot.png" id="19_8bfby"]
+[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="AudioStream" uid="uid://brufyhxonh3jr" path="res://Assets/Music/ko.wav" id="32_cphxk"]
+[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"]
[sub_resource type="Gradient" id="Gradient_1p6gt"]
offsets = PackedFloat32Array(0, 0.188525)
@@ -52,7 +59,7 @@ gradient = SubResource("Gradient_1p6gt")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_aoct8"]
particle_flag_disable_z = true
emission_shape = 3
-emission_box_extents = Vector3(8, 8, 1)
+emission_box_extents = Vector3(16, 5, 1)
angle_min = -243.4
angle_max = 1.07288e-05
direction = Vector3(-1, 0, 0)
@@ -68,6 +75,20 @@ 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,
@@ -111,6 +132,17 @@ animations = [{
}, {
"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,
@@ -119,6 +151,17 @@ animations = [{
}, {
"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,
@@ -157,7 +200,7 @@ animations = [{
"texture": ExtResource("8_xxs7c")
}],
"loop": true,
-"name": &"inhale_exhale_transition",
+"name": &"inhale_transition",
"speed": 5.0
}, {
"frames": [{
@@ -182,7 +225,7 @@ animations = [{
"texture": ExtResource("20_dcmki")
}],
"loop": true,
-"name": &"ko",
+"name": &"knockout",
"speed": 8.0
}, {
"frames": [{
@@ -201,10 +244,18 @@ animations = [{
"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_csxti"]
-radius = 7.0
+[sub_resource type="CircleShape2D" id="CircleShape2D_ncpg1"]
+radius = 8.0
[sub_resource type="CircleShape2D" id="CircleShape2D_vtlrr"]
radius = 8.0
@@ -232,12 +283,906 @@ animations = [{
"speed": 1.0
}]
-[sub_resource type="CircleShape2D" id="CircleShape2D_ncpg1"]
-radius = 8.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_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_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_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_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"),
+"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_mask = 18
script = ExtResource("1_d2vao")
@@ -245,7 +1190,7 @@ script = ExtResource("1_d2vao")
[node name="InhaleParticles" type="GPUParticles2D" parent="."]
unique_name_in_owner = true
texture_filter = 1
-position = Vector2(16, 0)
+position = Vector2(18, -2)
emitting = false
amount = 4
process_material = SubResource("ParticleProcessMaterial_aoct8")
@@ -256,62 +1201,77 @@ lifetime = 0.1
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 = 34
-[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-shape = SubResource("CircleShape2D_csxti")
+[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="."]
-collision_mask = 70
+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="Node2D" parent="."]
+[node name="Sounds" type="Node" parent="."]
-[node name="SoundFall" type="AudioStreamPlayer2D" parent="Sounds"]
+[node name="SoundFall" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("9_t30y2")
volume_db = -2.0
-[node name="SoundFall2" type="AudioStreamPlayer2D" parent="Sounds"]
+[node name="SoundFall2" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("14_o43qk")
-[node name="SoundJump" type="AudioStreamPlayer2D" parent="Sounds"]
+[node name="SoundJump" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("10_gmv3e")
-[node name="SoundFly" type="AudioStreamPlayer2D" parent="Sounds"]
+[node name="SoundFly" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("15_wt8kq")
-[node name="SoundInhale" type="AudioStreamPlayer2D" parent="Sounds"]
+[node name="SoundInhale" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("17_tcnsa")
-[node name="SoundAirShot" type="AudioStreamPlayer2D" parent="Sounds"]
+[node name="SoundAirShot" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("18_b0jy8")
-[node name="SoundStarShot" type="AudioStreamPlayer2D" parent="Sounds"]
+[node name="SoundStarShot" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("18_8tquw")
-[node name="SoundHurt" type="AudioStreamPlayer2D" parent="Sounds"]
+[node name="SoundHurt" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("20_sg1wm")
-[node name="SoundNoHp" type="AudioStreamPlayer2D" parent="Sounds"]
+[node name="SoundNoHp" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("21_y2drg")
-[node name="SoundDigest" type="AudioStreamPlayer2D" parent="Sounds"]
+[node name="SoundDigest" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("27_7h7h2")
-[node name="ShotObstacleHit" type="AudioStreamPlayer2D" parent="Sounds"]
+[node name="ShotObstacleHit" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("28_nwt8e")
@@ -319,18 +1279,14 @@ stream = ExtResource("28_nwt8e")
unique_name_in_owner = true
stream = ExtResource("30_bqihm")
-[node name="SoundKO" type="AudioStreamPlayer" parent="Sounds"]
+[node name="SoundKnockout" type="AudioStreamPlayer" parent="Sounds"]
unique_name_in_owner = true
stream = ExtResource("32_cphxk")
-[node name="SpriteSmallStar" type="Sprite2D" parent="."]
-texture_filter = 1
-position = Vector2(0, 14)
-texture = ExtResource("18_jg7ph")
-
[node name="AirShot" type="Area2D" parent="."]
-position = Vector2(25, 0)
-collision_mask = 6
+position = Vector2(40, 0)
+collision_layer = 8
+collision_mask = 518
metadata/_edit_group_ = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="AirShot"]
@@ -341,8 +1297,9 @@ texture_filter = 1
texture = ExtResource("19_8bfby")
[node name="StarShot" type="Area2D" parent="."]
-position = Vector2(44, 0)
-collision_mask = 6
+position = Vector2(64, 0)
+collision_layer = 8
+collision_mask = 518
metadata/_edit_group_ = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="StarShot"]
@@ -356,23 +1313,32 @@ sprite_frames = SubResource("SpriteFrames_wtu0n")
position = Vector2(-1.19209e-07, 5.96046e-07)
scale = Vector2(0.7, 0.7)
-[node name="HurtArea" type="Area2D" parent="."]
-collision_mask = 34
-
-[node name="CollisionShape2D" type="CollisionShape2D" parent="HurtArea"]
-shape = SubResource("CircleShape2D_ncpg1")
-debug_color = Color(0.558997, 0.400513, 0.991197, 0.42)
-
[node name="InhaleArea" type="Area2D" parent="."]
unique_name_in_owner = true
-position = Vector2(16, 0)
+position = Vector2(18, 0)
collision_layer = 0
collision_mask = 6
metadata/_edit_group_ = true
-[node name="CollisionShape2D" type="CollisionShape2D" parent="InhaleArea"]
+[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
@@ -380,4 +1346,10 @@ one_shot = true
[node name="InhaleMinDurationTimer" type="Timer" parent="."]
one_shot = true
+[node name="InvincibilityTimer" type="Timer" parent="."]
+one_shot = true
+
[connection signal="body_entered" from="HurtArea" to="." method="_on_hurt_area_body_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"]