added the game

This commit is contained in:
JHDev2006
2025-09-13 16:30:32 +01:00
parent 5ef689109b
commit 3773bdaf64
3616 changed files with 263702 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
[gd_scene load_steps=4 format=3 uid="uid://dplnidrqshecd"]
[ext_resource type="PackedScene" uid="uid://chjxyhlwohmi6" path="res://Scenes/Prefabs/Entities/Items/Coin.tscn" id="1_iq4uk"]
[ext_resource type="PackedScene" uid="uid://bxuxtgn5wg108" path="res://Scenes/Prefabs/Entities/Items/SpinningBlueCoin.tscn" id="2_4rq0g"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/BlueCoin.json" id="2_r2p65"]
[node name="Coin" instance=ExtResource("1_iq4uk")]
spinning_coin_scene = ExtResource("2_4rq0g")
[node name="Sprite" parent="." index="0"]
animation = &"Idle"
autoplay = "Idle"
frame_progress = 0.0
[node name="ResourceSetterNew" parent="Sprite" index="0"]
resource_json = ExtResource("2_r2p65")
[node name="PSwitcher" parent="." index="4"]
new_scene = "uid://rjs2k335jmb5"
[connection signal="area_entered" from="Hitbox" to="." method="area_entered"]

View File

@@ -0,0 +1,47 @@
[gd_scene load_steps=9 format=3 uid="uid://rjs2k335jmb5"]
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="1_isf0s"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_3gxgc"]
[ext_resource type="Texture2D" uid="uid://c82ui0uuhsyle" path="res://Assets/Sprites/Items/BlueCoin.png" id="2_558gv"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_ssesj"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/BlueCoin.json" id="3_3gxgc"]
[ext_resource type="Script" uid="uid://bul1nbd2in1gn" path="res://Scripts/Classes/Components/PSwitcher.gd" id="4_ssesj"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ip28o"]
atlas = ExtResource("2_558gv")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_3gxgc"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ip28o")
}],
"loop": true,
"name": &"Idle",
"speed": 5.0
}]
[node name="BlueCoinInactive" type="Node2D"]
script = ExtResource("1_isf0s")
metadata/_custom_type_script = "uid://cpwloakvp672a"
[node name="Sprite" type="AnimatedSprite2D" parent="."]
modulate = Color(1, 1, 1, 0.497)
sprite_frames = SubResource("SpriteFrames_3gxgc")
animation = &"Idle"
script = ExtResource("2_3gxgc")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("2_ssesj")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("3_3gxgc")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="PSwitcher" type="Node" parent="."]
script = ExtResource("4_ssesj")
new_scene = "uid://dplnidrqshecd"
metadata/_custom_type_script = "uid://bul1nbd2in1gn"

View File

@@ -0,0 +1,171 @@
[gd_scene load_steps=16 format=3 uid="uid://rruc6lnk16rr"]
[ext_resource type="Script" uid="uid://dryofl8epgget" path="res://Scripts/Classes/Entities/Items/ClockItem.gd" id="1_heiyr"]
[ext_resource type="Texture2D" uid="uid://dal8md4ms07j2" path="res://Assets/Sprites/Items/Clock.png" id="1_ybxan"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_heiyr"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_ov4xw"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Clock.json" id="4_newwu"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="5_fg0gx"]
[ext_resource type="Script" uid="uid://dt2p68xl462v2" path="res://Scripts/Parts/TextShadowColourChanger.gd" id="6_ggci8"]
[ext_resource type="Script" uid="uid://co6tjg3w6qpd8" path="res://Scripts/Parts/LabelFontChanger.gd" id="7_eol0e"]
[ext_resource type="Resource" uid="uid://8dcuxbc3h2u2" path="res://Resources/ThemedResources/Font.tres" id="8_34q7a"]
[sub_resource type="AtlasTexture" id="AtlasTexture_c30tx"]
atlas = ExtResource("1_ybxan")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_qa2fo"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_c30tx")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ydslq"]
size = Vector2(12, 12)
[sub_resource type="Animation" id="Animation_heiyr"]
resource_name = "Appear"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:visible")
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(".:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(-24, -8), Vector2(-24, -16)]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("..")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(1),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
tracks/3/type = "method"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../Sprite")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
[sub_resource type="Animation" id="Animation_ybxan"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:visible")
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(".:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(-24, -8)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ov4xw"]
_data = {
&"Appear": SubResource("Animation_heiyr"),
&"RESET": SubResource("Animation_ybxan")
}
[node name="ClockItem" type="CharacterBody2D"]
script = ExtResource("1_heiyr")
metadata/_custom_type_script = "uid://cjkurwybsaywm"
[node name="Sprite" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -8)
sprite_frames = SubResource("SpriteFrames_qa2fo")
offset = Vector2(0, 1)
script = ExtResource("2_heiyr")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_ov4xw")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_newwu")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Hitbox" type="Area2D" parent="Sprite"]
script = ExtResource("5_fg0gx")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite/Hitbox"]
shape = SubResource("RectangleShape2D_ydslq")
[node name="Label" type="Label" parent="."]
visible = false
offset_left = -24.0
offset_top = -8.0
offset_right = 24.0
offset_bottom = 8.0
text = "+100"
horizontal_alignment = 1
uppercase = true
[node name="TextShadowColourChanger" type="Node" parent="Label" node_paths=PackedStringArray("labels")]
script = ExtResource("6_ggci8")
labels = [NodePath("..")]
metadata/_custom_type_script = "uid://dt2p68xl462v2"
[node name="LabelFontChanger" type="Node" parent="Label" node_paths=PackedStringArray("labels")]
script = ExtResource("7_eol0e")
labels = [NodePath("..")]
resource = ExtResource("8_34q7a")
metadata/_custom_type_script = "uid://co6tjg3w6qpd8"
[node name="AnimationPlayer" type="AnimationPlayer" parent="Label"]
libraries = {
&"": SubResource("AnimationLibrary_ov4xw")
}
[connection signal="player_entered" from="Sprite/Hitbox" to="." method="collect_item"]

View File

@@ -0,0 +1,107 @@
[gd_scene load_steps=17 format=3 uid="uid://chjxyhlwohmi6"]
[ext_resource type="Script" uid="uid://cexcll4frt0t6" path="res://Scripts/Classes/Entities/Items/Coin.gd" id="1_c6elg"]
[ext_resource type="Texture2D" uid="uid://b6o28xa83npb1" path="res://Assets/Sprites/Items/StaticCoin.png" id="2_7vxr7"]
[ext_resource type="PackedScene" uid="uid://clxssds8sj8pf" path="res://Scenes/Prefabs/Entities/Items/SpinningCoin.tscn" id="2_k3746"]
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="3_korlu"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_uahob"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Coin.json" id="4_thymr"]
[ext_resource type="Script" uid="uid://bul1nbd2in1gn" path="res://Scripts/Classes/Components/PSwitcher.gd" id="6_uahob"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="7_thymr"]
[ext_resource type="Script" uid="uid://maqpreddu5kg" path="res://Scripts/Classes/Components/LevelPersistance.gd" id="8_apfal"]
[sub_resource type="AtlasTexture" id="AtlasTexture_uahob"]
atlas = ExtResource("2_7vxr7")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_thymr"]
atlas = ExtResource("2_7vxr7")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_apfal"]
atlas = ExtResource("2_7vxr7")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_k3746"]
atlas = ExtResource("2_7vxr7")
region = Rect2(48, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_nu35s"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_uahob")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_thymr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_apfal")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_k3746")
}],
"loop": true,
"name": &"default",
"speed": 10.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_edpyv"]
size = Vector2(12, 12)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_qjj6w"]
size = Vector2(8, 8)
[node name="Coin" type="Node2D" groups=["Coins"]]
z_index = -2
script = ExtResource("1_c6elg")
spinning_coin_scene = ExtResource("2_k3746")
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_nu35s")
autoplay = "default"
frame_progress = 0.487032
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_uahob")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_thymr")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Hitbox" type="Area2D" parent="."]
visible = false
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
shape = SubResource("RectangleShape2D_edpyv")
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
script = ExtResource("3_korlu")
detection_type = 1
hitbox = NodePath("../BlockHitbox")
metadata/_custom_type_script = "uid://cmg61722ktg2m"
[node name="BlockHitbox" type="Area2D" parent="."]
collision_layer = 0
collision_mask = 6
[node name="Shape" type="CollisionShape2D" parent="BlockHitbox"]
position = Vector2(0, 12)
shape = SubResource("RectangleShape2D_qjj6w")
[node name="PSwitcher" type="Node" parent="."]
script = ExtResource("6_uahob")
new_scene = "uid://dsa8lpl7n8ge0"
[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("7_thymr")
offset = Vector2(0, 0)
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[node name="LevelPersistance" type="Node" parent="."]
script = ExtResource("8_apfal")
[connection signal="collected" from="." to="LevelPersistance" method="set_as_active"]
[connection signal="area_entered" from="Hitbox" to="." method="area_entered"]
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="summon_block_coin" unbinds=1]
[connection signal="enabled" from="LevelPersistance" to="." method="queue_free"]

View File

@@ -0,0 +1,93 @@
[gd_scene load_steps=14 format=3 uid="uid://dbjqtjhb2t4cn"]
[ext_resource type="Script" uid="uid://cjkurwybsaywm" path="res://Scripts/Classes/Entities/Items/PowerUpItem.gd" id="1_paqft"]
[ext_resource type="Texture2D" uid="uid://qwqprcst4mtg" path="res://Assets/Sprites/Items/FireFlower.png" id="2_x8n8e"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_db8fa"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/FireFlower.json" id="4_11cns"]
[ext_resource type="Script" uid="uid://bx6r8sjar6cwr" path="res://Scripts/Classes/Components/BasicStaticMovement.gd" id="5_11cns"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="6_brn7u"]
[sub_resource type="AtlasTexture" id="AtlasTexture_db8fa"]
atlas = ExtResource("2_x8n8e")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_11cns"]
atlas = ExtResource("2_x8n8e")
region = Rect2(16, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_brn7u"]
atlas = ExtResource("2_x8n8e")
region = Rect2(32, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_fwmx2"]
atlas = ExtResource("2_x8n8e")
region = Rect2(48, 16, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_gid51"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_db8fa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_11cns")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_brn7u")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fwmx2")
}],
"loop": true,
"name": &"default",
"speed": 15.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_16uf3"]
size = Vector2(8, 4)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kjjbq"]
size = Vector2(8, 8)
[node name="FireFlower" type="CharacterBody2D"]
z_index = -1
collision_layer = 8
collision_mask = 2
script = ExtResource("1_paqft")
power_up_state = "Fire"
metadata/_custom_type_script = "uid://cjkurwybsaywm"
[node name="Sprite" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -8)
sprite_frames = SubResource("SpriteFrames_gid51")
autoplay = "default"
frame_progress = 0.157931
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_db8fa")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_11cns")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Hitbox" type="Area2D" parent="."]
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, -10)
shape = SubResource("RectangleShape2D_16uf3")
[node name="Collision" type="CollisionShape2D" parent="."]
position = Vector2(0, -4)
shape = SubResource("RectangleShape2D_kjjbq")
[node name="StaticEntityMovement" type="Node" parent="."]
script = ExtResource("5_11cns")
auto_call = false
[node name="TrackJoint" type="Node" parent="." node_paths=PackedStringArray("movement_node")]
script = ExtResource("6_brn7u")
movement_node = NodePath("../StaticEntityMovement")
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[connection signal="physics_tick" from="." to="StaticEntityMovement" method="handle_movement"]
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]

View File

@@ -0,0 +1,86 @@
[gd_scene load_steps=9 format=3 uid="uid://dutrlpq47wguf"]
[ext_resource type="Script" uid="uid://yh4pop7sm56c" path="res://Scripts/Classes/Entities/Items/Fireball.gd" id="1_00jom"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_gfqet"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/PlayerFireball.json" id="3_an01s"]
[sub_resource type="Animation" id="Animation_gfqet"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_00jom"]
resource_name = "Spin"
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(".:rotation")
tracks/0/interp = 0
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, 1.5708, 3.14159, 4.71239, 6.28319]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_an01s"]
_data = {
&"RESET": SubResource("Animation_gfqet"),
&"Spin": SubResource("Animation_00jom")
}
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ajyso"]
size = Vector2(6, 8)
[sub_resource type="CircleShape2D" id="CircleShape2D_dhdpv"]
radius = 8.0
[node name="Fireball" type="CharacterBody2D"]
collision_layer = 0
collision_mask = 2
slide_on_ceiling = false
script = ExtResource("1_00jom")
[node name="Sprite" type="AnimatedSprite2D" parent="."]
z_index = 2
[node name="Animation" type="AnimationPlayer" parent="Sprite"]
libraries = {
&"": SubResource("AnimationLibrary_an01s")
}
autoplay = "Spin"
speed_scale = 2.0
[node name="ResourceSetter" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("2_gfqet")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("3_an01s")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_ajyso")
[node name="Hitbox" type="Area2D" parent="."]
visible = false
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
shape = SubResource("CircleShape2D_dhdpv")
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="queue_free"]

View File

@@ -0,0 +1,57 @@
[gd_scene load_steps=10 format=3 uid="uid://dn2rawqxpuywe"]
[ext_resource type="Script" uid="uid://bb01xttxcem1c" path="res://Scripts/Classes/Entities/Items/Hachisuke.gd" id="1_d7uck"]
[ext_resource type="Texture2D" uid="uid://bbdcmhyxmc3pu" path="res://Assets/Sprites/Items/SPItems.png" id="2_wdqsg"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_3unjp"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="3_eh4yc"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="4_3unjp"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Hachisuke.json" id="4_db2kr"]
[sub_resource type="AtlasTexture" id="AtlasTexture_qj4fn"]
atlas = ExtResource("2_wdqsg")
region = Rect2(0, 0, 16, 16)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kn7db"]
size = Vector2(12, 12)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6c253"]
size = Vector2(16, 16)
[node name="Hachisuke" type="CharacterBody2D"]
collision_layer = 8
collision_mask = 6
script = ExtResource("1_d7uck")
metadata/_custom_type_script = "uid://cjkurwybsaywm"
[node name="Sprite" type="Sprite2D" parent="."]
position = Vector2(0, -8)
texture = SubResource("AtlasTexture_qj4fn")
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_3unjp")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_db2kr")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="ScoreNoteSpawner" type="Node" parent="."]
script = ExtResource("3_eh4yc")
add_score = true
metadata/_custom_type_script = "uid://5octqlf4ohel"
[node name="PlayerDetection" type="Area2D" parent="."]
position = Vector2(0, -8)
script = ExtResource("4_3unjp")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="Shape" type="CollisionShape2D" parent="PlayerDetection"]
shape = SubResource("RectangleShape2D_kn7db")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -8)
shape = SubResource("RectangleShape2D_6c253")
[connection signal="player_entered" from="PlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [8000]]
[connection signal="player_entered" from="PlayerDetection" to="." method="play_sfx" unbinds=1]
[connection signal="player_entered" from="PlayerDetection" to="." method="queue_free" unbinds=1]

View File

@@ -0,0 +1,81 @@
[gd_scene load_steps=10 format=3 uid="uid://deo08vl26nc4b"]
[ext_resource type="Script" uid="uid://s1utdly4mtbi" path="res://Scripts/Classes/Entities/Items/Hammer.gd" id="1_3ojke"]
[ext_resource type="Texture2D" uid="uid://3xmhfi556p3s" path="res://Assets/Sprites/Items/Hammer.png" id="1_o34jf"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_k3c6x"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Hammer.json" id="4_pmlpp"]
[sub_resource type="AtlasTexture" id="AtlasTexture_2tvg3"]
atlas = ExtResource("1_o34jf")
region = Rect2(0, 0, 16, 16)
[sub_resource type="Animation" id="Animation_vmyq7"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_3ojke"]
resource_name = "Rotate"
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("Sprite:rotation")
tracks/0/interp = 0
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [0.0, -1.5708, -3.14159, -4.71239]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k3c6x"]
_data = {
&"RESET": SubResource("Animation_vmyq7"),
&"Rotate": SubResource("Animation_3ojke")
}
[sub_resource type="CircleShape2D" id="CircleShape2D_pmlpp"]
radius = 4.0
[node name="Hammer" type="Node2D" groups=["Enemies"]]
script = ExtResource("1_3ojke")
[node name="Sprite" type="Sprite2D" parent="."]
physics_interpolation_mode = 2
texture = SubResource("AtlasTexture_2tvg3")
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect", "property_node")]
script = ExtResource("3_k3c6x")
node_to_affect = NodePath("..")
property_node = NodePath("../..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_pmlpp")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Animations" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_k3c6x")
}
autoplay = "Rotate"
[node name="Hitbox" type="Area2D" parent="."]
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
shape = SubResource("CircleShape2D_pmlpp")
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]

View File

@@ -0,0 +1,47 @@
[gd_scene load_steps=8 format=3 uid="uid://bwdwavf4rp1m1"]
[ext_resource type="Script" uid="uid://vhxup1pn2v8q" path="res://Scripts/Classes/Entities/Items/HammerItem.gd" id="1_ws752"]
[ext_resource type="Texture2D" uid="uid://bbdcmhyxmc3pu" path="res://Assets/Sprites/Items/SPItems.png" id="2_c0srl"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_uc7h7"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_uc7h7"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/HammerItem.json" id="5_6qq3q"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ws752"]
size = Vector2(8, 8)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_uc7h7"]
size = Vector2(10, 10)
[node name="HammerItem" type="CharacterBody2D"]
collision_layer = 8
collision_mask = 2
script = ExtResource("1_ws752")
metadata/_custom_type_script = "uid://cjkurwybsaywm"
[node name="Hitbox" type="Area2D" parent="."]
script = ExtResource("3_uc7h7")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, -8)
shape = SubResource("RectangleShape2D_ws752")
[node name="Sprite" type="Sprite2D" parent="."]
position = Vector2(0, -8)
texture = ExtResource("2_c0srl")
region_enabled = true
region_rect = Rect2(0, 0, 16, 16)
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("4_uc7h7")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("5_6qq3q")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -5)
shape = SubResource("RectangleShape2D_uc7h7")
[connection signal="player_entered" from="Hitbox" to="." method="on_player_entered"]

View File

@@ -0,0 +1,169 @@
[gd_scene load_steps=18 format=3 uid="uid://ny5glffi0suh"]
[ext_resource type="Texture2D" uid="uid://bagrao4ahra76" path="res://Assets/Sprites/Items/Key.png" id="1_883rn"]
[ext_resource type="Script" uid="uid://cjgbt7iof66j0" path="res://Scripts/Classes/Entities/Items/KeyItem.gd" id="1_l02ex"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_ecusj"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_l02ex"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_m8uts"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Key.json" id="4_m8uts"]
[ext_resource type="Texture2D" uid="uid://sgrcmlktp2dk" path="res://Assets/Sprites/Particles/SRankParticles.png" id="7_2yl70"]
[sub_resource type="AtlasTexture" id="AtlasTexture_l02ex"]
atlas = ExtResource("1_883rn")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_2yl70"]
atlas = ExtResource("1_883rn")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_imihh"]
atlas = ExtResource("1_883rn")
region = Rect2(32, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_rls2x"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_l02ex")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l02ex")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l02ex")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l02ex")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l02ex")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l02ex")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l02ex")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l02ex")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l02ex")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l02ex")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2yl70")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_imihh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2yl70")
}],
"loop": true,
"name": &"default",
"speed": 10.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2u37r"]
size = Vector2(12, 12)
[sub_resource type="Animation" id="Animation_d4wb4"]
resource_name = "Float"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:offset")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, -2)]
}
[sub_resource type="Animation" id="Animation_1rbaj"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:offset")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_e440m"]
_data = {
&"Float": SubResource("Animation_d4wb4"),
&"RESET": SubResource("Animation_1rbaj")
}
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_imihh"]
particles_animation = true
particles_anim_h_frames = 7
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_rls2x"]
particle_flag_disable_z = true
emission_shape = 6
emission_ring_axis = Vector3(0, 0, 1)
emission_ring_height = 8.0
emission_ring_radius = 10.0
emission_ring_inner_radius = 8.0
emission_ring_cone_angle = 90.0
gravity = Vector3(0, 0, 0)
anim_speed_min = 2.0
anim_speed_max = 2.0
[node name="KeyItem" type="Node2D"]
script = ExtResource("1_l02ex")
[node name="Sprite" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -8)
sprite_frames = SubResource("SpriteFrames_rls2x")
autoplay = "default"
frame_progress = 0.18760097
script = ExtResource("2_ecusj")
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_l02ex")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_m8uts")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Hitbox" type="Area2D" parent="."]
position = Vector2(0, -8)
script = ExtResource("3_m8uts")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
shape = SubResource("RectangleShape2D_2u37r")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_e440m")
}
[node name="GoldParticles" type="GPUParticles2D" parent="."]
z_index = 1
material = SubResource("CanvasItemMaterial_imihh")
position = Vector2(0, -8)
amount = 1
texture = ExtResource("7_2yl70")
randomness = 0.12
process_material = SubResource("ParticleProcessMaterial_rls2x")
[connection signal="player_entered" from="Hitbox" to="." method="collected" unbinds=1]

View File

@@ -0,0 +1,70 @@
[gd_scene load_steps=11 format=3 uid="uid://dhd0gp2xvl53l"]
[ext_resource type="Script" uid="uid://bafdl3y53ly60" path="res://Scripts/Classes/UI/PackAnimatedSprite2D.gd" id="2_724cb"]
[ext_resource type="Texture2D" uid="uid://bbdcmhyxmc3pu" path="res://Assets/Sprites/Items/SPItems.png" id="2_wnlnm"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_724cb"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_ke2o5"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/LuckyStar.json" id="4_4cwfa"]
[sub_resource type="GDScript" id="GDScript_y0edb"]
script/source = "extends PowerUpItem
func player_entered(_player: Player) -> void:
queue_free()
AudioManager.play_global_sfx(\"lucky_star\")
get_tree().call_group(\"Enemies\", \"flag_die\")
"
[sub_resource type="AtlasTexture" id="AtlasTexture_ke2o5"]
atlas = ExtResource("2_wnlnm")
region = Rect2(0, 64, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_4cwfa"]
atlas = ExtResource("2_wnlnm")
region = Rect2(16, 64, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_48p8s"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ke2o5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4cwfa")
}],
"loop": true,
"name": &"default",
"speed": 15.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7yv5x"]
size = Vector2(8, 8)
[node name="LuckyStar" type="CharacterBody2D"]
script = SubResource("GDScript_y0edb")
metadata/_custom_type_script = "uid://cjkurwybsaywm"
[node name="Sprite" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -8)
sprite_frames = SubResource("SpriteFrames_48p8s")
autoplay = "default"
frame_progress = 0.8284554
script = ExtResource("2_724cb")
metadata/_custom_type_script = "uid://bafdl3y53ly60"
[node name="ResourceSetter" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_ke2o5")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_4cwfa")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="PlayerDetection" type="Area2D" parent="."]
position = Vector2(0, -8)
script = ExtResource("3_724cb")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
shape = SubResource("RectangleShape2D_7yv5x")
[connection signal="player_entered" from="PlayerDetection" to="." method="player_entered"]

View File

@@ -0,0 +1,15 @@
[gd_scene load_steps=4 format=3 uid="uid://cpk6idjoxjotv"]
[ext_resource type="PackedScene" uid="uid://beq7b3hp44onn" path="res://Scenes/Prefabs/Entities/Items/SuperMushroom.tscn" id="1_g2ftd"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="2_w8r6w"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/OneUp.json" id="3_iusab"]
[node name="OneUp" instance=ExtResource("1_g2ftd")]
metadata/is_oneup = true
[node name="ResourceSetterNew" parent="Mushroom" index="0"]
resource_json = ExtResource("3_iusab")
[node name="ScoreNoteSpawner" type="Node" parent="." index="4"]
script = ExtResource("2_w8r6w")
metadata/_custom_type_script = "uid://5octqlf4ohel"

View File

@@ -0,0 +1,10 @@
[gd_scene load_steps=3 format=3 uid="uid://n7nskl10ouem"]
[ext_resource type="PackedScene" uid="uid://beq7b3hp44onn" path="res://Scenes/Prefabs/Entities/Items/SuperMushroom.tscn" id="1_0uuo6"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/PoisonMushroom.json" id="2_pfjfl"]
[node name="SuperMushroom" instance=ExtResource("1_0uuo6")]
metadata/is_poison = false
[node name="ResourceSetterNew" parent="Mushroom" index="0"]
resource_json = ExtResource("2_pfjfl")

View File

@@ -0,0 +1,119 @@
[gd_scene load_steps=18 format=3 uid="uid://cmbpqnq10arts"]
[ext_resource type="Script" uid="uid://xwq5ac650e76" path="res://Scripts/Classes/Entities/Items/RedCoin.gd" id="1_c6tmk"]
[ext_resource type="Texture2D" uid="uid://c8wpxm7b5tgiq" path="res://Assets/Sprites/Items/RedCoin.png" id="2_lwdcj"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_0r8d3"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_0xloa"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_onh0k"]
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="4_lwdcj"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/RedCoin.json" id="5_0fjrw"]
[sub_resource type="AtlasTexture" id="AtlasTexture_lwdcj"]
atlas = ExtResource("2_lwdcj")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_onh0k"]
atlas = ExtResource("2_lwdcj")
region = Rect2(16, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_1w0wa"]
atlas = ExtResource("2_lwdcj")
region = Rect2(32, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_4qu2r"]
atlas = ExtResource("2_lwdcj")
region = Rect2(48, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_0xloa"]
atlas = ExtResource("2_lwdcj")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_0r8d3"]
atlas = ExtResource("2_lwdcj")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_0fjrw"]
atlas = ExtResource("2_lwdcj")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ppl3b"]
atlas = ExtResource("2_lwdcj")
region = Rect2(48, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_1w0wa"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_lwdcj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_onh0k")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1w0wa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4qu2r")
}],
"loop": true,
"name": &"Collected",
"speed": 8.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_0xloa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0r8d3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0fjrw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ppl3b")
}],
"loop": true,
"name": &"Idle",
"speed": 8.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4qu2r"]
size = Vector2(12, 15)
[node name="RedCoin" type="Node2D"]
visibility_layer = 3
z_index = -2
script = ExtResource("1_c6tmk")
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_1w0wa")
animation = &"Idle"
autoplay = "Idle"
script = ExtResource("3_0r8d3")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_0xloa")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("5_0fjrw")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Hitbox" type="Area2D" parent="."]
collision_mask = 5
script = ExtResource("3_onh0k")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, 1.5)
shape = SubResource("RectangleShape2D_4qu2r")
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
script = ExtResource("4_lwdcj")
detection_type = 1
hitbox = NodePath("../Hitbox")
metadata/_custom_type_script = "uid://cmg61722ktg2m"
[connection signal="player_entered" from="Hitbox" to="." method="on_player_entered"]
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="summon_bounced_coin" unbinds=1]

View File

@@ -0,0 +1,68 @@
[gd_scene load_steps=6 format=3 uid="uid://1a8j44cmswcj"]
[ext_resource type="Script" uid="uid://bbeh6dsp1hpan" path="res://Scripts/Classes/Entities/Items/ReserveItem.gd" id="1_ik5mc"]
[sub_resource type="CircleShape2D" id="CircleShape2D_flkw7"]
radius = 8.0
[sub_resource type="Animation" id="Animation_ik5mc"]
resource_name = "Flash"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
[sub_resource type="Animation" id="Animation_8acg5"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_flkw7"]
_data = {
&"Flash": SubResource("Animation_ik5mc"),
&"RESET": SubResource("Animation_8acg5")
}
[node name="ReserveItem" type="CharacterBody2D"]
script = ExtResource("1_ik5mc")
metadata/_custom_type_script = "uid://cjkurwybsaywm"
[node name="Sprite2D" type="Sprite2D" parent="."]
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
shape = SubResource("CircleShape2D_flkw7")
[node name="Timer" type="Timer" parent="."]
wait_time = 8.0
autostart = true
[node name="Animation" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_flkw7")
}
autoplay = "Flash"
speed_scale = 2.0
[connection signal="area_entered" from="Area2D" to="." method="on_area_entered"]
[connection signal="timeout" from="Timer" to="." method="queue_free"]

View File

@@ -0,0 +1,14 @@
[gd_scene load_steps=3 format=3 uid="uid://bxuxtgn5wg108"]
[ext_resource type="PackedScene" uid="uid://clxssds8sj8pf" path="res://Scenes/Prefabs/Entities/Items/SpinningCoin.tscn" id="1_8si4e"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/BlueCoin.json" id="2_da77p"]
[node name="SpinningCoin" instance=ExtResource("1_8si4e")]
[node name="Sprite" parent="." index="0"]
animation = &"Spin"
autoplay = "Spin"
frame_progress = 0.0
[node name="ResourceSetterNew" parent="Sprite" index="0"]
resource_json = ExtResource("2_da77p")

View File

@@ -0,0 +1,71 @@
[gd_scene load_steps=11 format=3 uid="uid://clxssds8sj8pf"]
[ext_resource type="Script" uid="uid://dixhffcqfnyku" path="res://Scripts/Classes/Entities/Items/SpinningCoin.gd" id="1_pvx50"]
[ext_resource type="Texture2D" uid="uid://bnomivkphlt60" path="res://Assets/Sprites/Items/SpinningCoin.png" id="2_6slgd"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="3_6slgd"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_7mdmn"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/SpinningCoin.json" id="4_b5lmc"]
[sub_resource type="AtlasTexture" id="AtlasTexture_v0qq2"]
atlas = ExtResource("2_6slgd")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_7mdmn"]
atlas = ExtResource("2_6slgd")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_b5lmc"]
atlas = ExtResource("2_6slgd")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_mqre6"]
atlas = ExtResource("2_6slgd")
region = Rect2(48, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_sax2u"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_v0qq2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7mdmn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b5lmc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mqre6")
}],
"loop": true,
"name": &"default",
"speed": 20.0
}]
[node name="SpinningCoin" type="Node2D"]
script = ExtResource("1_pvx50")
metadata/block_spawn_offset = Vector2(0, -4)
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_sax2u")
autoplay = "default"
frame_progress = 0.710764
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_7mdmn")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_b5lmc")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Timer" type="Timer" parent="."]
wait_time = 0.5
one_shot = true
autostart = true
[node name="ScoreNoteSpawner" type="Node" parent="."]
script = ExtResource("3_6slgd")
metadata/_custom_type_script = "uid://5octqlf4ohel"
[connection signal="timeout" from="Timer" to="." method="vanish"]
[connection signal="timeout" from="Timer" to="ScoreNoteSpawner" method="spawn_note" binds= [0, 200]]

View File

@@ -0,0 +1,110 @@
[gd_scene load_steps=16 format=3 uid="uid://d3gnwmvds4ors"]
[ext_resource type="Script" uid="uid://bmi5fmguqbdyh" path="res://Scripts/Classes/Entities/Items/SpinningRedCoin.gd" id="1_2dih8"]
[ext_resource type="Texture2D" uid="uid://c8wpxm7b5tgiq" path="res://Assets/Sprites/Items/RedCoin.png" id="2_1ws6h"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_ke76m"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="3_oosg8"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_rnpac"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/RedCoin.json" id="4_rnpac"]
[sub_resource type="AtlasTexture" id="AtlasTexture_lwdcj"]
atlas = ExtResource("2_1ws6h")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_onh0k"]
atlas = ExtResource("2_1ws6h")
region = Rect2(16, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_1w0wa"]
atlas = ExtResource("2_1ws6h")
region = Rect2(32, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_4qu2r"]
atlas = ExtResource("2_1ws6h")
region = Rect2(48, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_0xloa"]
atlas = ExtResource("2_1ws6h")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_0r8d3"]
atlas = ExtResource("2_1ws6h")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_0fjrw"]
atlas = ExtResource("2_1ws6h")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ppl3b"]
atlas = ExtResource("2_1ws6h")
region = Rect2(48, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_oosg8"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_lwdcj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_onh0k")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1w0wa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4qu2r")
}],
"loop": true,
"name": &"Collected",
"speed": 8.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_0xloa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0r8d3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0fjrw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ppl3b")
}],
"loop": true,
"name": &"Idle",
"speed": 8.0
}]
[node name="SpinningCoin" type="Node2D"]
visibility_layer = 3
script = ExtResource("1_2dih8")
[node name="Sprite" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -8)
sprite_frames = SubResource("SpriteFrames_oosg8")
animation = &"Idle"
autoplay = "Idle"
frame_progress = 0.49333584
speed_scale = 2.5
script = ExtResource("3_rnpac")
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_ke76m")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_rnpac")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Timer" type="Timer" parent="."]
wait_time = 0.5
one_shot = true
autostart = true
[node name="ScoreNoteSpawner" type="Node" parent="."]
script = ExtResource("3_oosg8")
metadata/_custom_type_script = "uid://5octqlf4ohel"
[connection signal="timeout" from="Timer" to="." method="vanish"]
[connection signal="timeout" from="Timer" to="ScoreNoteSpawner" method="spawn_note" binds= [0, 200]]

View File

@@ -0,0 +1,78 @@
[gd_scene load_steps=13 format=3 uid="uid://beq7b3hp44onn"]
[ext_resource type="Script" uid="uid://dlrdjo1ksvp7q" path="res://Scripts/Classes/Entities/Items/SuperMushroom.gd" id="1_j8f56"]
[ext_resource type="Texture2D" uid="uid://hfh5i32uji5t" path="res://Assets/Sprites/Items/SuperMushroom.png" id="2_kycr3"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_20ogn"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_i28px"]
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="3_kycr3"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/SuperMushroom.json" id="4_waj2c"]
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="6_waj2c"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="7_xop20"]
[sub_resource type="AtlasTexture" id="AtlasTexture_xop20"]
atlas = ExtResource("2_kycr3")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_20ogn"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_xop20")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eg5wg"]
size = Vector2(10, 10)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_i28px"]
size = Vector2(4, 8)
[node name="SuperMushroom" type="CharacterBody2D"]
collision_layer = 8
collision_mask = 2
script = ExtResource("1_j8f56")
[node name="Mushroom" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -8)
sprite_frames = SubResource("SpriteFrames_20ogn")
offset = Vector2(0, 1)
script = ExtResource("3_20ogn")
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetterNew" type="Node" parent="Mushroom" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_i28px")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_waj2c")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Hitbox" type="Area2D" parent="."]
position = Vector2(0, -8)
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
shape = SubResource("RectangleShape2D_eg5wg")
[node name="Collision" type="CollisionShape2D" parent="."]
position = Vector2(0, -4)
shape = SubResource("RectangleShape2D_i28px")
[node name="BlockBouncingDetection" type="Node" parent="."]
script = ExtResource("3_kycr3")
can_change_direction = true
metadata/_custom_type_script = "uid://cmg61722ktg2m"
[node name="BasicEnemyMovement" type="Node" parent="."]
script = ExtResource("6_waj2c")
auto_call = false
move_speed = 65
[node name="TrackJoint" type="Node" parent="." node_paths=PackedStringArray("movement_node")]
script = ExtResource("7_xop20")
movement_node = NodePath("../BasicEnemyMovement")
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="block_bounce_up" unbinds=1]

View File

@@ -0,0 +1,110 @@
[gd_scene load_steps=17 format=3 uid="uid://5qg8po86pew4"]
[ext_resource type="Script" uid="uid://dbeg86pjflojw" path="res://Scripts/Classes/Entities/Items/SuperStar.gd" id="1_aowox"]
[ext_resource type="Texture2D" uid="uid://1o654l3577lv" path="res://Assets/Sprites/Items/SuperStar.png" id="1_gpwv4"]
[ext_resource type="AudioStream" uid="uid://73b2bhjg5idd" path="res://Assets/Audio/BGM/StarMan.mp3" id="2_orqf5"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_orqf5"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/StarMan.json" id="5_og7mc"]
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="6_og7mc"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="7_sc6oi"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="8_yyobd"]
[sub_resource type="AudioStreamInteractive" id="AudioStreamInteractive_og7mc"]
clip_count = 1
clip_0/name = &"Star Man"
clip_0/stream = ExtResource("2_orqf5")
clip_0/auto_advance = 0
[sub_resource type="AtlasTexture" id="AtlasTexture_ptmgm"]
atlas = ExtResource("1_gpwv4")
region = Rect2(0, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_aowox"]
atlas = ExtResource("1_gpwv4")
region = Rect2(16, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_53gld"]
atlas = ExtResource("1_gpwv4")
region = Rect2(32, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_orqf5"]
atlas = ExtResource("1_gpwv4")
region = Rect2(48, 32, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_og7mc"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ptmgm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_aowox")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_53gld")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_orqf5")
}],
"loop": true,
"name": &"default",
"speed": 15.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_sc6oi"]
custom_solver_bias = 1.0
size = Vector2(8, 8)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_yyobd"]
size = Vector2(16, 16)
[node name="SuperStar" type="CharacterBody2D"]
z_index = -1
collision_layer = 8
collision_mask = 2
script = ExtResource("1_aowox")
star_bgm = SubResource("AudioStreamInteractive_og7mc")
metadata/_custom_type_script = "uid://cjkurwybsaywm"
[node name="Sprite" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -8)
sprite_frames = SubResource("SpriteFrames_og7mc")
autoplay = "default"
frame_progress = 0.792139
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("4_orqf5")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("5_og7mc")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
position = Vector2(0, -4)
shape = SubResource("RectangleShape2D_sc6oi")
[node name="Hitbox" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, -8)
shape = SubResource("RectangleShape2D_yyobd")
[node name="BasicEnemyMovement" type="Node" parent="."]
script = ExtResource("6_og7mc")
auto_call = false
move_speed = 70
bounce_on_land = true
bounce_height = -250
[node name="ScoreNoteSpawner" type="Node" parent="."]
script = ExtResource("7_sc6oi")
add_score = true
metadata/_custom_type_script = "uid://5octqlf4ohel"
[node name="TrackJoint" type="Node" parent="." node_paths=PackedStringArray("movement_node")]
script = ExtResource("8_yyobd")
movement_node = NodePath("../BasicEnemyMovement")
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[connection signal="collected" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [1000]]
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]

View File

@@ -0,0 +1,74 @@
[gd_scene load_steps=12 format=3 uid="uid://dkxkrqflg46b2"]
[ext_resource type="Texture2D" uid="uid://ck2ac2a266r6i" path="res://Assets/Sprites/Items/Vine.png" id="1_pfdri"]
[ext_resource type="AudioStream" uid="uid://bdm8wm7vy4r12" path="res://Assets/Audio/SFX/VineAppear.wav" id="2_ap2o3"]
[ext_resource type="Script" uid="uid://cxtvy2qolon2f" path="res://Scripts/Classes/Entities/Items/Vine.gd" id="2_tlgk1"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_ni768"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="4_m01lk"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Vine.json" id="4_q1cik"]
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="6_ohmvf"]
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="7_e75m7"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ap2o3"]
resource_local_to_scene = true
size = Vector2(8, 16)
[sub_resource type="Resource" id="Resource_cmcye"]
script = ExtResource("7_e75m7")
Overworld = ExtResource("2_ap2o3")
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
[sub_resource type="CircleShape2D" id="CircleShape2D_ssycu"]
[node name="Vine" type="Node2D"]
z_index = -5
script = ExtResource("2_tlgk1")
[node name="Visuals" type="NinePatchRect" parent="."]
offset_left = -8.0
offset_top = -8.0
offset_right = 8.0
offset_bottom = 8.0
pivot_offset = Vector2(8, 8)
texture = ExtResource("1_pfdri")
patch_margin_top = 16
axis_stretch_vertical = 1
[node name="ResourceSetterNew" type="Node" parent="Visuals" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_ni768")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_q1cik")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Hitbox" type="Area2D" parent="."]
position = Vector2(-8, -8)
[node name="Collision" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(8, 8)
shape = SubResource("RectangleShape2D_ap2o3")
[node name="SFX" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("2_ap2o3")
autoplay = true
bus = &"SFX"
[node name="ResourceSetter" type="Node" parent="SFX" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("6_ohmvf")
node_to_affect = NodePath("..")
property_name = "stream"
themed_resource = SubResource("Resource_cmcye")
metadata/_custom_type_script = "uid://cq6f682453q6o"
[node name="WarpHitbox" type="Area2D" parent="."]
script = ExtResource("4_m01lk")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="CollisionShape2D" type="CollisionShape2D" parent="WarpHitbox"]
shape = SubResource("CircleShape2D_ssycu")
disabled = true
[connection signal="area_exited" from="Hitbox" to="." method="on_area_exited"]
[connection signal="sprites_updated" from="SFX/ResourceSetter" to="SFX" method="play"]
[connection signal="player_entered" from="WarpHitbox" to="." method="on_player_entered"]

View File

@@ -0,0 +1,66 @@
[gd_scene load_steps=10 format=3 uid="uid://ck0spcws71sg5"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="1_fcvyr"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_gjj3y"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="2_neobf"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/WingItem.json" id="3_1uenh"]
[ext_resource type="Script" uid="uid://bx6r8sjar6cwr" path="res://Scripts/Classes/Components/BasicStaticMovement.gd" id="3_143ya"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="4_gdso8"]
[sub_resource type="GDScript" id="GDScript_gdso8"]
script/source = "extends PowerUpItem
func player_entered(player: Player) -> void:
AudioManager.play_sfx(\"power_up\", global_position)
player.wing_get()
queue_free()
"
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fcvyr"]
size = Vector2(8, 8)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_gjj3y"]
size = Vector2(10, 5)
[node name="WingItem" type="CharacterBody2D"]
collision_layer = 8
collision_mask = 6
script = SubResource("GDScript_gdso8")
power_up_state = ""
metadata/_custom_type_script = "uid://cjkurwybsaywm"
[node name="Sprite" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -8)
script = ExtResource("1_fcvyr")
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("2_gjj3y")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("3_1uenh")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Hitbox" type="Area2D" parent="."]
script = ExtResource("2_neobf")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(0, -8)
shape = SubResource("RectangleShape2D_fcvyr")
[node name="BasicStaticMovement" type="Node" parent="."]
script = ExtResource("3_143ya")
metadata/_custom_type_script = "uid://bx6r8sjar6cwr"
[node name="Collision" type="CollisionShape2D" parent="."]
position = Vector2(0, -2.5)
shape = SubResource("RectangleShape2D_gjj3y")
[node name="ScoreNoteSpawner" type="Node" parent="."]
script = ExtResource("4_gdso8")
add_score = true
metadata/_custom_type_script = "uid://5octqlf4ohel"
[connection signal="player_entered" from="Hitbox" to="." method="player_entered"]
[connection signal="player_entered" from="Hitbox" to="ScoreNoteSpawner" method="spawn_note" binds= [1000]]

View File

@@ -0,0 +1,401 @@
[gd_scene load_steps=36 format=3 uid="uid://ctx0nbkjf2osn"]
[ext_resource type="Script" uid="uid://c0c5ctrmxhpk7" path="res://Scripts/Classes/Entities/Items/YoshiEgg.gd" id="1_byuma"]
[ext_resource type="Texture2D" uid="uid://c7jq6t1d2mhur" path="res://Assets/Sprites/Items/YoshiEgg.png" id="1_xcoq2"]
[ext_resource type="Texture2D" uid="uid://hdpdek7jitea" path="res://Assets/Sprites/Players/Yoshi.png" id="2_byuma"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_peoeq"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="4_f5bm0"]
[ext_resource type="AudioStream" uid="uid://uc55fu866hkj" path="res://Assets/Audio/SFX/YoshiEgg.wav" id="4_ljpfp"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/YoshiEgg.json" id="4_r541a"]
[ext_resource type="AudioStream" uid="uid://cl4e0p4fnpjn1" path="res://Assets/Audio/SFX/Yoshi.wav" id="5_ovuko"]
[ext_resource type="JSON" path="res://Assets/Sprites/Players/Yoshi.json" id="6_3ntsy"]
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="6_swra8"]
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="7_jen1s"]
[sub_resource type="AtlasTexture" id="AtlasTexture_2jlbu"]
atlas = ExtResource("1_xcoq2")
region = Rect2(0, 48, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_peoeq"]
atlas = ExtResource("1_xcoq2")
region = Rect2(16, 48, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_f5bm0"]
atlas = ExtResource("1_xcoq2")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_f6uhp"]
atlas = ExtResource("1_xcoq2")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_swra8"]
atlas = ExtResource("1_xcoq2")
region = Rect2(0, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_jen1s"]
atlas = ExtResource("1_xcoq2")
region = Rect2(16, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ljpfp"]
atlas = ExtResource("1_xcoq2")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ovuko"]
atlas = ExtResource("1_xcoq2")
region = Rect2(16, 16, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_r541a"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_2jlbu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_peoeq")
}],
"loop": true,
"name": &"Blue",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_f5bm0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f6uhp")
}],
"loop": true,
"name": &"Green",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_swra8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jen1s")
}],
"loop": true,
"name": &"Red",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ljpfp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ovuko")
}],
"loop": true,
"name": &"Yellow",
"speed": 5.0
}]
[sub_resource type="AtlasTexture" id="AtlasTexture_bh1gf"]
atlas = ExtResource("2_byuma")
region = Rect2(0, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_6qdj5"]
atlas = ExtResource("2_byuma")
region = Rect2(32, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_3ntsy"]
atlas = ExtResource("2_byuma")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_6x77t"]
atlas = ExtResource("2_byuma")
region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_rhwve"]
atlas = ExtResource("2_byuma")
region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_uvhj2"]
atlas = ExtResource("2_byuma")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_4vchd"]
atlas = ExtResource("2_byuma")
region = Rect2(64, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_x8mei"]
atlas = ExtResource("2_byuma")
region = Rect2(96, 32, 32, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_ytyif"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_bh1gf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6qdj5")
}],
"loop": true,
"name": &"Blue",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_3ntsy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6x77t")
}],
"loop": true,
"name": &"Green",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_rhwve")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uvhj2")
}],
"loop": true,
"name": &"Red",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_4vchd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x8mei")
}],
"loop": true,
"name": &"Yellow",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_h0v6r"]
size = Vector2(10, 10)
[sub_resource type="Animation" id="Animation_f5bm0"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Egg:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Egg: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("Yoshi:visible")
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("YoshiHatch:playing")
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("YoshiSFX:playing")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_xcoq2"]
resource_name = "new_animation"
length = 4.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Egg:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [0, 1]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Egg:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1.5),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Yoshi:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1.5),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/3/type = "method"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath(".")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(3),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"show_smoke"
}]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("YoshiHatch:playing")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(1),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("YoshiSFX:playing")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(1.5),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_byuma"]
_data = {
&"RESET": SubResource("Animation_f5bm0"),
&"new_animation": SubResource("Animation_xcoq2")
}
[sub_resource type="Resource" id="Resource_2jlbu"]
script = ExtResource("7_jen1s")
Overworld = ExtResource("4_ljpfp")
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
[sub_resource type="Resource" id="Resource_peoeq"]
script = ExtResource("7_jen1s")
Overworld = ExtResource("5_ovuko")
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
[node name="YoshiEgg" type="CharacterBody2D"]
z_index = -1
collision_layer = 8
collision_mask = 2
script = ExtResource("1_byuma")
[node name="Egg" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -8)
sprite_frames = SubResource("SpriteFrames_r541a")
animation = &"Yellow"
speed_scale = 0.0
[node name="ResourceSetterNew" type="Node" parent="Egg" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_peoeq")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_r541a")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Yoshi" type="AnimatedSprite2D" parent="."]
visible = false
position = Vector2(0, -16)
sprite_frames = SubResource("SpriteFrames_ytyif")
animation = &"Green"
autoplay = "Green"
[node name="ResourceSetterNew" type="Node" parent="Yoshi" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_peoeq")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("6_3ntsy")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -5)
shape = SubResource("RectangleShape2D_h0v6r")
[node name="Animation" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_byuma")
}
autoplay = "new_animation"
[node name="ScoreNoteSpawner" type="Node" parent="."]
script = ExtResource("4_f5bm0")
add_score = true
metadata/_custom_type_script = "uid://5octqlf4ohel"
[node name="YoshiHatch" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("4_ljpfp")
bus = &"SFX"
[node name="ResourceSetter" type="Node" parent="YoshiHatch" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("6_swra8")
node_to_affect = NodePath("..")
property_name = "stream"
themed_resource = SubResource("Resource_2jlbu")
metadata/_custom_type_script = "uid://cq6f682453q6o"
[node name="YoshiSFX" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource("5_ovuko")
bus = &"SFX"
[node name="ResourceSetter" type="Node" parent="YoshiSFX" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("6_swra8")
node_to_affect = NodePath("..")
property_name = "stream"
themed_resource = SubResource("Resource_peoeq")
metadata/_custom_type_script = "uid://cq6f682453q6o"