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,148 @@
[gd_scene load_steps=21 format=3 uid="uid://by6ndsjhlkmbt"]
[ext_resource type="Texture2D" uid="uid://coe8j7vfyvmh8" path="res://Assets/Sprites/Blocks/BooOnOffBlock.png" id="1_j75mb"]
[ext_resource type="Script" uid="uid://be2x40pxmueyo" path="res://Scripts/Classes/Blocks/BooOnOffBlock.gd" id="1_mttsc"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_ds5j0"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_sf1e4"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/BooOnOffBlockRed.json" id="4_ofstd"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="6_y6qjl"]
[sub_resource type="AtlasTexture" id="AtlasTexture_mttsc"]
atlas = ExtResource("1_j75mb")
region = Rect2(64, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ds5j0"]
atlas = ExtResource("1_j75mb")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_wpfka"]
atlas = ExtResource("1_j75mb")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ejjud"]
atlas = ExtResource("1_j75mb")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_iufm8"]
atlas = ExtResource("1_j75mb")
region = Rect2(48, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ly3ab"]
atlas = ExtResource("1_j75mb")
region = Rect2(64, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_b85kh"]
atlas = ExtResource("1_j75mb")
region = Rect2(64, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_3r05r"]
atlas = ExtResource("1_j75mb")
region = Rect2(80, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_vqjxh"]
atlas = ExtResource("1_j75mb")
region = Rect2(96, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_374u5"]
atlas = ExtResource("1_j75mb")
region = Rect2(112, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_qg086"]
atlas = ExtResource("1_j75mb")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_xp1gv"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_mttsc")
}],
"loop": true,
"name": &"Default",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ds5j0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wpfka")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ejjud")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_iufm8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ly3ab")
}],
"loop": false,
"name": &"Off",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_b85kh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3r05r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vqjxh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_374u5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qg086")
}],
"loop": false,
"name": &"On",
"speed": 15.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fe1rr"]
size = Vector2(16, 16)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ds5j0"]
size = Vector2(12, 12)
[node name="BooOnOffBlock" type="AnimatableBody2D" groups=["BooBlocks"]]
collision_layer = 6
collision_mask = 0
sync_to_physics = false
script = ExtResource("1_mttsc")
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_xp1gv")
animation = &"Default"
autoplay = "Default"
[node name="ResourceSetter" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_sf1e4")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_ofstd")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
visible = false
shape = SubResource("RectangleShape2D_fe1rr")
disabled = true
[node name="PlayerDetection" type="Area2D" parent="."]
visible = false
script = ExtResource("3_ds5j0")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
shape = SubResource("RectangleShape2D_ds5j0")
[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("6_y6qjl")
offset = Vector2(0, 0)
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[connection signal="player_entered" from="PlayerDetection" to="." method="on_player_entered"]
[connection signal="player_exited" from="PlayerDetection" to="." method="on_player_exited"]

View File

@@ -0,0 +1,113 @@
[gd_scene load_steps=16 format=3 uid="uid://c1xle3fplnxtr"]
[ext_resource type="PackedScene" uid="uid://by6ndsjhlkmbt" path="res://Scenes/Prefabs/Blocks/BooRaceBlocks/BooOnOffBlock.tscn" id="1_snfqb"]
[ext_resource type="Texture2D" uid="uid://coe8j7vfyvmh8" path="res://Assets/Sprites/Blocks/BooOnOffBlock.png" id="2_vdgbk"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/BooBlueOnOffBlock.json" id="3_yech7"]
[sub_resource type="AtlasTexture" id="AtlasTexture_snfqb"]
atlas = ExtResource("2_vdgbk")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_nofac"]
atlas = ExtResource("2_vdgbk")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ptbl1"]
atlas = ExtResource("2_vdgbk")
region = Rect2(16, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_aqmci"]
atlas = ExtResource("2_vdgbk")
region = Rect2(32, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_h7e20"]
atlas = ExtResource("2_vdgbk")
region = Rect2(48, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_s8xmr"]
atlas = ExtResource("2_vdgbk")
region = Rect2(64, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_2kj2p"]
atlas = ExtResource("2_vdgbk")
region = Rect2(64, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_4r68e"]
atlas = ExtResource("2_vdgbk")
region = Rect2(80, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_l1ywa"]
atlas = ExtResource("2_vdgbk")
region = Rect2(96, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_uyt6e"]
atlas = ExtResource("2_vdgbk")
region = Rect2(112, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_jpy10"]
atlas = ExtResource("2_vdgbk")
region = Rect2(0, 16, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_yh3se"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_snfqb")
}],
"loop": true,
"name": &"Default",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_nofac")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ptbl1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_aqmci")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_h7e20")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_s8xmr")
}],
"loop": false,
"name": &"Off",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_2kj2p")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4r68e")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l1ywa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uyt6e")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jpy10")
}],
"loop": false,
"name": &"On",
"speed": 15.0
}]
[node name="BooOnOffBlock" instance=ExtResource("1_snfqb")]
active = true
[node name="Sprite" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_yh3se")
animation = &"Off"
[node name="ResourceSetter" parent="Sprite" index="0"]
resource_json = ExtResource("3_yech7")
[node name="Collision" parent="." index="1"]
disabled = false

View File

@@ -0,0 +1,133 @@
[gd_scene load_steps=19 format=3 uid="uid://5ua3p0lfl1bf"]
[ext_resource type="Script" uid="uid://bm72ggve5kda5" path="res://Scripts/Classes/Blocks/BooOnOffSwitch.gd" id="1_ldgc7"]
[ext_resource type="Texture2D" uid="uid://b00h2ocjft42e" path="res://Assets/Sprites/Blocks/BooOnOffSwitch.png" id="2_b0kgh"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_afw5n"]
[ext_resource type="PackedScene" uid="uid://cijkvfkthetn5" path="res://Scenes/Parts/BlockAnimations.tscn" id="3_b0kgh"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/BooOnOffSwitch.json" id="4_bllja"]
[sub_resource type="AtlasTexture" id="AtlasTexture_yh77s"]
atlas = ExtResource("2_b0kgh")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ldgc7"]
atlas = ExtResource("2_b0kgh")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_mcsv7"]
atlas = ExtResource("2_b0kgh")
region = Rect2(16, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_60tvi"]
atlas = ExtResource("2_b0kgh")
region = Rect2(32, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_f7t61"]
atlas = ExtResource("2_b0kgh")
region = Rect2(48, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_hbxxr"]
atlas = ExtResource("2_b0kgh")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_h8ett"]
atlas = ExtResource("2_b0kgh")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ykmgv"]
atlas = ExtResource("2_b0kgh")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_whks1"]
atlas = ExtResource("2_b0kgh")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_la0ug"]
atlas = ExtResource("2_b0kgh")
region = Rect2(48, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_dxm0r"]
atlas = ExtResource("2_b0kgh")
region = Rect2(0, 16, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_yh77s"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_yh77s")
}],
"loop": true,
"name": &"Default",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ldgc7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mcsv7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_60tvi")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f7t61")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hbxxr")
}],
"loop": false,
"name": &"Off",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_h8ett")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ykmgv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_whks1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_la0ug")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dxm0r")
}],
"loop": false,
"name": &"On",
"speed": 15.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_uwq65"]
size = Vector2(16, 16)
[node name="BooOnOffSwitch" type="AnimatableBody2D" node_paths=PackedStringArray("visuals") groups=["BooBlocks", "BooSwitchBlocks"]]
collision_layer = 6
collision_mask = 0
script = ExtResource("1_ldgc7")
visuals = NodePath("Sprite")
metadata/_custom_type_script = "uid://b5ejlbl0vp1gm"
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_yh77s")
animation = &"On"
autoplay = "Default"
[node name="ResourceSetter" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_afw5n")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_bllja")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
visible = false
shape = SubResource("RectangleShape2D_uwq65")
[node name="BlockAnimations" parent="." instance=ExtResource("3_b0kgh")]
[connection signal="player_block_hit" from="." to="." method="on_block_hit" unbinds=1]
[connection signal="player_block_hit" from="." to="BlockAnimations" method="bounce_block" unbinds=1]

View File

@@ -0,0 +1,174 @@
[gd_scene load_steps=21 format=3 uid="uid://dgq7enviy1qhw"]
[ext_resource type="Script" uid="uid://du5hnwdhv7x66" path="res://Scripts/Classes/Blocks/TimedBooBlock.gd" id="1_hessd"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_5y3wt"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_7bqom"]
[ext_resource type="Texture2D" uid="uid://bi13n4mw0to20" path="res://Assets/Sprites/Blocks/TimedBooBlock.png" id="3_46g6h"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/TimedBooBlock.json" id="4_7bqom"]
[ext_resource type="PackedScene" uid="uid://cijkvfkthetn5" path="res://Scenes/Parts/BlockAnimations.tscn" id="4_tgrgf"]
[sub_resource type="AtlasTexture" id="AtlasTexture_slvan"]
atlas = ExtResource("3_46g6h")
region = Rect2(48, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_mewnl"]
atlas = ExtResource("3_46g6h")
region = Rect2(64, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_mcix7"]
atlas = ExtResource("3_46g6h")
region = Rect2(80, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_mmpdk"]
atlas = ExtResource("3_46g6h")
region = Rect2(32, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_n5dg2"]
atlas = ExtResource("3_46g6h")
region = Rect2(16, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ibap3"]
atlas = ExtResource("3_46g6h")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_7gr33"]
atlas = ExtResource("3_46g6h")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_2kb58"]
atlas = ExtResource("3_46g6h")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_huvet"]
atlas = ExtResource("3_46g6h")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_i3exc"]
atlas = ExtResource("3_46g6h")
region = Rect2(48, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_r3ncx"]
atlas = ExtResource("3_46g6h")
region = Rect2(64, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_8firs"]
atlas = ExtResource("3_46g6h")
region = Rect2(80, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_7ajl0"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_slvan")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mewnl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mcix7")
}],
"loop": false,
"name": &"BlueToRed",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_mmpdk")
}],
"loop": true,
"name": &"Off1",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_n5dg2")
}],
"loop": true,
"name": &"Off2",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ibap3")
}],
"loop": true,
"name": &"Off3",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_7gr33")
}],
"loop": true,
"name": &"On1",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_2kb58")
}],
"loop": true,
"name": &"On2",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_huvet")
}],
"loop": true,
"name": &"On3",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_i3exc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_r3ncx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8firs")
}],
"loop": false,
"name": &"RedToBlue",
"speed": 15.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ce8wa"]
size = Vector2(16, 16)
[node name="TimedBooBlock" type="AnimatableBody2D" node_paths=PackedStringArray("visuals") groups=["BooBlocks"]]
collision_layer = 6
script = ExtResource("1_hessd")
visuals = NodePath("Sprite")
destructable = false
metadata/_custom_type_script = "uid://b5ejlbl0vp1gm"
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_7ajl0")
animation = &"Off3"
autoplay = "Off3"
script = ExtResource("3_7bqom")
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_5y3wt")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_7bqom")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
visible = false
shape = SubResource("RectangleShape2D_ce8wa")
[node name="Timer" type="Timer" parent="."]
[node name="BlockAnimations" parent="." instance=ExtResource("4_tgrgf")]
[connection signal="player_block_hit" from="." to="." method="block_hit" unbinds=1]
[connection signal="player_block_hit" from="." to="BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="shell_block_hit" from="." to="." method="block_hit" unbinds=1]
[connection signal="shell_block_hit" from="." to="BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="timeout" from="Timer" to="." method="on_timeout"]

View File

@@ -0,0 +1,74 @@
[gd_scene load_steps=12 format=3 uid="uid://dsa8lpl7n8ge0"]
[ext_resource type="Script" uid="uid://y53avulrmfx1" path="res://Scripts/Classes/Blocks/BrickBlock.gd" id="1_ci56s"]
[ext_resource type="PackedScene" uid="uid://55lw62f6ol33" path="res://Scenes/Prefabs/Particles/BrickDestructionParticles.tscn" id="2_x80g6"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_j224x"]
[ext_resource type="PackedScene" uid="uid://cijkvfkthetn5" path="res://Scenes/Parts/BlockAnimations.tscn" id="3_nyd82"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_x80g6"]
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Terrain/BrickBlock.json" id="4_b3g5f"]
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="6_e3l5j"]
[ext_resource type="Script" uid="uid://bul1nbd2in1gn" path="res://Scripts/Classes/Components/PSwitcher.gd" id="7_43oa6"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="8_7ej1a"]
[ext_resource type="Script" uid="uid://maqpreddu5kg" path="res://Scripts/Classes/Components/LevelPersistance.gd" id="9_10eph"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_b3g5f"]
size = Vector2(16, 16)
[node name="BrickBlock" type="AnimatableBody2D" node_paths=PackedStringArray("visuals") groups=["Blocks"]]
z_index = -1
collision_layer = 6
collision_mask = 0
script = ExtResource("1_ci56s")
visuals = NodePath("Sprite")
destruction_particle_scene = ExtResource("2_x80g6")
metadata/_custom_type_script = "uid://b5ejlbl0vp1gm"
[node name="Sprite" type="AnimatedSprite2D" parent="."]
script = ExtResource("3_x80g6")
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_j224x")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_b3g5f")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
visible = false
shape = SubResource("RectangleShape2D_b3g5f")
[node name="BlockAnimations" parent="." instance=ExtResource("3_nyd82")]
[node name="EditorPropertyExposer" type="Node" parent="."]
script = ExtResource("6_e3l5j")
properties = Array[String](["item", "item_amount", "mushroom_if_small"])
filters = Dictionary[String, String]({
"item": "can_be_stored"
})
[node name="PSwitcher" type="Node" parent="."]
script = ExtResource("7_43oa6")
new_scene = "uid://chjxyhlwohmi6"
[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("8_7ej1a")
offset = Vector2(0, 0)
disable_physics = false
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[node name="LevelPersistance" type="Node" parent="."]
script = ExtResource("9_10eph")
metadata/_custom_type_script = "uid://maqpreddu5kg"
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
[connection signal="block_destroyed" from="." to="LevelPersistance" method="set_as_active_2"]
[connection signal="block_emptied" from="." to="LevelPersistance" method="set_as_active"]
[connection signal="player_block_hit" from="." to="." method="on_block_hit"]
[connection signal="player_block_hit" from="." to="BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="shell_block_hit" from="." to="." method="on_shell_block_hit"]
[connection signal="shell_block_hit" from="." to="BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="enabled" from="LevelPersistance" to="." method="spawn_empty_block"]
[connection signal="enabled_2" from="LevelPersistance" to="." method="queue_free"]

View File

@@ -0,0 +1,28 @@
[gd_scene load_steps=4 format=3 uid="uid://cqvr7a6e84oti"]
[ext_resource type="PackedScene" uid="uid://dsa8lpl7n8ge0" path="res://Scenes/Prefabs/Blocks/BrickBlocks/BrickBlock.tscn" id="1_ihag5"]
[ext_resource type="PackedScene" uid="uid://clxssds8sj8pf" path="res://Scenes/Prefabs/Entities/Items/SpinningCoin.tscn" id="2_1q8s7"]
[ext_resource type="Texture2D" uid="uid://b6o28xa83npb1" path="res://Assets/Sprites/Items/StaticCoin.png" id="3_cjcdh"]
[node name="BrickBlock" instance=ExtResource("1_ihag5")]
item = ExtResource("2_1q8s7")
item_amount = 99
[node name="Sprite2D" type="Sprite2D" parent="." index="4"]
texture = ExtResource("3_cjcdh")
region_enabled = true
region_rect = Rect2(0, 0, 16, 16)
region_filter_clip_enabled = true
[node name="Timer" type="Timer" parent="Sprite2D" index="0"]
wait_time = 0.001
autostart = true
[node name="Timer" type="Timer" parent="." index="6"]
process_callback = 0
wait_time = 3.85
one_shot = true
[connection signal="player_block_hit" from="." to="Timer" method="start" flags=6 unbinds=1]
[connection signal="timeout" from="Sprite2D/Timer" to="Sprite2D" method="queue_free"]
[connection signal="timeout" from="Timer" to="." method="set_coin_count"]

View File

@@ -0,0 +1,40 @@
[gd_scene load_steps=8 format=3 uid="uid://dn1btottv42sd"]
[ext_resource type="PackedScene" uid="uid://dsa8lpl7n8ge0" path="res://Scenes/Prefabs/Blocks/BrickBlocks/BrickBlock.tscn" id="1_37s05"]
[ext_resource type="PackedScene" uid="uid://beq7b3hp44onn" path="res://Scenes/Prefabs/Entities/Items/SuperMushroom.tscn" id="2_olu46"]
[ext_resource type="Texture2D" uid="uid://bsyugykvflalf" path="res://Assets/Sprites/Items/1UP.png" id="3_l5hxg"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/OneUp.json" id="4_vb4rs"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="5_m0jmq"]
[sub_resource type="AtlasTexture" id="AtlasTexture_3yqrr"]
atlas = ExtResource("3_l5hxg")
region = Rect2(16, 0, 16, 16)
[sub_resource type="PackedScene" id="PackedScene_jtx2j"]
_bundled = {
"base_scene": 0,
"conn_count": 0,
"conns": PackedInt32Array(),
"editable_instances": [],
"names": PackedStringArray("OneUp", "metadata/is_oneup", "Mushroom", "texture", "region_enabled", "region_rect", "ResourceSetterNew", "resource_json", "ScoreNoteSpawner", "Node", "script", "metadata/_custom_type_script"),
"node_count": 4,
"node_paths": [NodePath("."), NodePath("./Mushroom"), NodePath(".")],
"nodes": PackedInt32Array(-1, -1, 2147483647, 0, -1, 1, 1, 1, 0, 1073741824, -1, 2147483647, 262146, -1, 3, 3, 2, 4, 3, 5, 4, 0, 1073741825, -1, 2147483647, 262150, -1, 1, 7, 5, 0, 1073741826, 0, 9, 1310728, -1, 2, 10, 6, 11, 7, 0),
"variants": [ExtResource("2_olu46"), true, SubResource("AtlasTexture_3yqrr"), false, Rect2(16, 0, 16, 16), ExtResource("4_vb4rs"), ExtResource("5_m0jmq"), "uid://5octqlf4ohel"],
"version": 3
}
[node name="BrickBlock" instance=ExtResource("1_37s05")]
item = SubResource("PackedScene_jtx2j")
[node name="Sprite2D" type="Sprite2D" parent="." index="4"]
texture = ExtResource("3_l5hxg")
region_enabled = true
region_rect = Rect2(16, 0, 16, 16)
region_filter_clip_enabled = true
[node name="Timer" type="Timer" parent="Sprite2D" index="0"]
wait_time = 0.001
autostart = true
[connection signal="timeout" from="Sprite2D/Timer" to="Sprite2D" method="queue_free"]

View File

@@ -0,0 +1,34 @@
[gd_scene load_steps=6 format=3 uid="uid://cih0lt6mbg3g8"]
[ext_resource type="PackedScene" uid="uid://dsa8lpl7n8ge0" path="res://Scenes/Prefabs/Blocks/BrickBlocks/BrickBlock.tscn" id="1_i2ug8"]
[ext_resource type="PackedScene" uid="uid://beq7b3hp44onn" path="res://Scenes/Prefabs/Entities/Items/SuperMushroom.tscn" id="2_2ppk5"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/PoisonMushroom.json" id="3_drx8b"]
[ext_resource type="Texture2D" uid="uid://011dooyd0elr" path="res://Assets/Sprites/Items/PoisonMushroom.png" id="3_vkmdw"]
[sub_resource type="PackedScene" id="PackedScene_mt4hv"]
_bundled = {
"base_scene": 0,
"conn_count": 0,
"conns": PackedInt32Array(),
"editable_instances": [],
"names": PackedStringArray("SuperMushroom", "metadata/is_poison", "Mushroom", "region_enabled", "region_rect", "ResourceSetterNew", "resource_json"),
"node_count": 3,
"node_paths": [NodePath("."), NodePath("./Mushroom")],
"nodes": PackedInt32Array(-1, -1, 2147483647, 0, -1, 1, 1, 1, 0, 1073741824, -1, 2147483647, 262146, -1, 2, 3, 2, 4, 3, 0, 1073741825, -1, 2147483647, 262149, -1, 1, 6, 4, 0),
"variants": [ExtResource("2_2ppk5"), false, false, Rect2(32, 0, 16, 16), ExtResource("3_drx8b")],
"version": 3
}
[node name="BrickBlock" instance=ExtResource("1_i2ug8")]
item = SubResource("PackedScene_mt4hv")
[node name="Sprite2D" type="Sprite2D" parent="." index="4"]
texture = ExtResource("3_vkmdw")
region_enabled = true
region_rect = Rect2(32, 0, 16, 16)
[node name="Timer" type="Timer" parent="Sprite2D" index="0"]
wait_time = 0.001
autostart = true
[connection signal="timeout" from="Sprite2D/Timer" to="Sprite2D" method="queue_free"]

View File

@@ -0,0 +1,25 @@
[gd_scene load_steps=5 format=3 uid="uid://cor5javglnirw"]
[ext_resource type="PackedScene" uid="uid://dsa8lpl7n8ge0" path="res://Scenes/Prefabs/Blocks/BrickBlocks/BrickBlock.tscn" id="1_esw26"]
[ext_resource type="PackedScene" uid="uid://dbjqtjhb2t4cn" path="res://Scenes/Prefabs/Entities/Items/FireFlower.tscn" id="2_2eoa6"]
[ext_resource type="Texture2D" uid="uid://hfh5i32uji5t" path="res://Assets/Sprites/Items/SuperMushroom.png" id="3_ddqrk"]
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="3_esw26"]
[node name="BrickBlock" instance=ExtResource("1_esw26")]
item = ExtResource("2_2eoa6")
mushroom_if_small = true
[node name="EditorVisibleNode" type="Node2D" parent="." index="3"]
script = ExtResource("3_esw26")
[node name="Sprite2D" type="Sprite2D" parent="EditorVisibleNode" index="0"]
texture = ExtResource("3_ddqrk")
region_enabled = true
region_rect = Rect2(0, 0, 16, 16)
region_filter_clip_enabled = true
[node name="Timer" type="Timer" parent="EditorVisibleNode/Sprite2D" index="0"]
wait_time = 0.001
autostart = true
[connection signal="timeout" from="EditorVisibleNode/Sprite2D/Timer" to="EditorVisibleNode/Sprite2D" method="queue_free"]

View File

@@ -0,0 +1,11 @@
[gd_scene load_steps=3 format=3 uid="uid://dpukj2ja3i3qj"]
[ext_resource type="PackedScene" uid="uid://cor5javglnirw" path="res://Scenes/Prefabs/Blocks/BrickBlocks/PowerUpBrickBlock.tscn" id="1_5t0h4"]
[ext_resource type="PackedScene" uid="uid://5qg8po86pew4" path="res://Scenes/Prefabs/Entities/Items/SuperStar.tscn" id="2_6m2bg"]
[node name="BrickBlock" instance=ExtResource("1_5t0h4")]
item = ExtResource("2_6m2bg")
mushroom_if_small = false
[node name="Sprite2D" parent="EditorVisibleNode" index="0"]
region_rect = Rect2(0, 32, 16, 16)

View File

@@ -0,0 +1,91 @@
[gd_scene load_steps=15 format=3 uid="uid://dh2fvaypdfgsl"]
[ext_resource type="Texture2D" uid="uid://cwvkbxng585yv" path="res://Assets/Sprites/Blocks/DeathBlock.png" id="1_sauix"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_6cjqp"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_ubant"]
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="4_aopyt"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/DeathBlock.json" id="4_ubant"]
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="5_l5v6c"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="7_aopyt"]
[sub_resource type="GDScript" id="GDScript_l5v6c"]
script/source = "extends StaticBody2D
func on_player_entered(player: Player) -> void:
player.die()
"
[sub_resource type="AtlasTexture" id="AtlasTexture_icrp6"]
atlas = ExtResource("1_sauix")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_wsxqq"]
atlas = ExtResource("1_sauix")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ubant"]
atlas = ExtResource("1_sauix")
region = Rect2(32, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_60x7i"]
animations = [{
"frames": [{
"duration": 10.0,
"texture": SubResource("AtlasTexture_icrp6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wsxqq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ubant")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wsxqq")
}],
"loop": true,
"name": &"default",
"speed": 10.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eg0rv"]
size = Vector2(16, 16)
[sub_resource type="Resource" id="Resource_p4bel"]
script = ExtResource("5_l5v6c")
Overworld = SubResource("SpriteFrames_60x7i")
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
[node name="DeathBlock" type="StaticBody2D"]
collision_layer = 390
collision_mask = 0
script = SubResource("GDScript_l5v6c")
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_60x7i")
autoplay = "default"
frame_progress = 0.116988
script = ExtResource("2_6cjqp")
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_ubant")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_ubant")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_eg0rv")
[node name="ThemedToJSONConverter" type="Node" parent="."]
script = ExtResource("4_aopyt")
resource = SubResource("Resource_p4bel")
json_file_path = "res://Assets/Sprites/Blocks/DeathBlock.json"
metadata/_custom_type_script = "uid://cqif1li7otvpl"
[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("7_aopyt")
offset = Vector2(0, 0)
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"

View File

@@ -0,0 +1,41 @@
[gd_scene load_steps=8 format=3 uid="uid://cs40ecju70hnp"]
[ext_resource type="Script" uid="uid://b5ejlbl0vp1gm" path="res://Scripts/Classes/Blocks/BlockClass.gd" id="1_8rosd"]
[ext_resource type="Texture2D" uid="uid://dt0qtxu2l646n" path="res://Assets/Sprites/Tilesets/Terrain/Overworld.png" id="1_v8f21"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_8rosd"]
[ext_resource type="PackedScene" uid="uid://b4cf70v1da8cb" path="res://Scenes/Prefabs/Particles/DecoBlockDestructionParticles.tscn" id="2_abwd6"]
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Terrain/TerrainTiles.json" id="3_i7a3s"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="5_i7a3s"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_74q7l"]
size = Vector2(16, 16)
[node name="EmptyBlock" type="AnimatableBody2D" node_paths=PackedStringArray("visuals")]
collision_layer = 6
collision_mask = 0
script = ExtResource("1_8rosd")
visuals = NodePath("Sprite")
destruction_particle_scene = ExtResource("2_abwd6")
metadata/_custom_type_script = "uid://b5ejlbl0vp1gm"
metadata/is_empty = true
[node name="Sprite" type="Sprite2D" parent="."]
texture = ExtResource("1_v8f21")
region_enabled = true
region_rect = Rect2(64, 32, 16, 16)
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("2_8rosd")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("3_i7a3s")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_74q7l")
[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("5_i7a3s")
offset = Vector2(0, 0)
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"

View File

@@ -0,0 +1,173 @@
[gd_scene load_steps=15 format=3 uid="uid://bv38ynjkpisyk"]
[ext_resource type="Script" uid="uid://dbu4juvw4veul" path="res://Scripts/Classes/Blocks/DonutBlock.gd" id="1_asdop"]
[ext_resource type="Texture2D" uid="uid://s2miqaqyk4bm" path="res://Assets/Sprites/Blocks/DonutBlock.png" id="1_ydbi0"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="2_asdop"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_3jqqs"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/DonutBlock.json" id="4_woaa1"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_skbwb"]
size = Vector2(16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_3jqqs"]
atlas = ExtResource("1_ydbi0")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_woaa1"]
atlas = ExtResource("1_ydbi0")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_6bmau"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_3jqqs")
}],
"loop": true,
"name": &"Fall",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_woaa1")
}],
"loop": true,
"name": &"Idle",
"speed": 5.0
}]
[sub_resource type="Animation" id="Animation_633oe"]
resource_name = "Grow"
length = 0.5
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)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite:scale")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_vf85a"]
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)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite:scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(1, 1)]
}
[sub_resource type="Animation" id="Animation_aq712"]
resource_name = "Shake"
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, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(-1, 0), Vector2(1, 0), Vector2(0, 0)]
}
tracks/1/type = "method"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(1),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"start_falling"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_srhyq"]
_data = {
&"Grow": SubResource("Animation_633oe"),
&"RESET": SubResource("Animation_vf85a"),
&"Shake": SubResource("Animation_aq712")
}
[sub_resource type="RectangleShape2D" id="RectangleShape2D_obema"]
size = Vector2(15, 2)
[node name="DonutBlock" type="StaticBody2D"]
collision_layer = 6
collision_mask = 0
script = ExtResource("1_asdop")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_skbwb")
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_6bmau")
animation = &"Idle"
autoplay = "Idle"
frame_progress = 0.0124768
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_3jqqs")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_woaa1")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_srhyq")
}
[node name="PlayerDetection" type="Area2D" parent="."]
script = ExtResource("2_asdop")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
position = Vector2(0, -9)
shape = SubResource("RectangleShape2D_obema")
[node name="FallTimer" type="Timer" parent="."]
wait_time = 5.0
one_shot = true
[connection signal="player_entered" from="PlayerDetection" to="." method="on_player_entered" unbinds=1]
[connection signal="player_exited" from="PlayerDetection" to="." method="on_player_exited" unbinds=1]
[connection signal="timeout" from="FallTimer" to="." method="respawn"]

View File

@@ -0,0 +1,35 @@
[gd_scene load_steps=7 format=3 uid="uid://dipap63c1nrnn"]
[ext_resource type="Script" uid="uid://b5ejlbl0vp1gm" path="res://Scripts/Classes/Blocks/BlockClass.gd" id="1_c5ati"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_fuckyou"]
[ext_resource type="PackedScene" uid="uid://bxxjd0qf60t5q" path="res://Scenes/Prefabs/Particles/EmptyBlockDestructionParticles.tscn" id="2_g8nyw"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_g8nyw"]
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Terrain/EmptyBlock.json" id="5_v5vjc"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_74q7l"]
size = Vector2(16, 16)
[node name="EmptyBlock" type="AnimatableBody2D"]
z_index = -1
collision_layer = 6
collision_mask = 0
sync_to_physics = false
script = ExtResource("1_c5ati")
destruction_particle_scene = ExtResource("2_g8nyw")
metadata/_custom_type_script = "uid://b5ejlbl0vp1gm"
metadata/is_empty = true
[node name="Sprite" type="AnimatedSprite2D" parent="."]
script = ExtResource("3_g8nyw")
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_fuckyou")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("5_v5vjc")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_74q7l")

View File

@@ -0,0 +1,30 @@
[gd_scene load_steps=6 format=3 uid="uid://cn7wwtug5xman"]
[ext_resource type="Texture2D" uid="uid://ln7uey6c4mf" path="res://Assets/Sprites/Blocks/PSwitchBlock.png" id="1_e8kpq"]
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="2_tb55n"]
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="3_wy3br"]
[ext_resource type="Script" uid="uid://bul1nbd2in1gn" path="res://Scripts/Classes/Components/PSwitcher.gd" id="4_3uy5e"]
[sub_resource type="Resource" id="Resource_312ms"]
script = ExtResource("3_wy3br")
Overworld = ExtResource("1_e8kpq")
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
[node name="EmptyPSwitchBlock" type="Node2D"]
[node name="Sprite" type="Sprite2D" parent="."]
texture = ExtResource("1_e8kpq")
region_enabled = true
region_rect = Rect2(16, 0, 16, 16)
[node name="ResourceSetter" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("2_tb55n")
node_to_affect = NodePath("..")
property_name = "texture"
themed_resource = SubResource("Resource_312ms")
metadata/_custom_type_script = "uid://cq6f682453q6o"
[node name="PSwitcher" type="Node" parent="."]
script = ExtResource("4_3uy5e")
new_scene = "uid://q3aaukgw01nw"
metadata/_custom_type_script = "uid://bul1nbd2in1gn"

View File

@@ -0,0 +1,162 @@
[gd_scene load_steps=22 format=3 uid="uid://svkvxdk8fsyj"]
[ext_resource type="Script" uid="uid://bvplls3ae0oqr" path="res://Scripts/Classes/Entities/Objects/OnOffFanRed.gd" id="1_lggcr"]
[ext_resource type="Texture2D" uid="uid://dkwk6x3je28oi" path="res://Assets/Sprites/Blocks/Fan.png" id="2_lggcr"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_shbxw"]
[ext_resource type="Texture2D" uid="uid://dy3p03djelkb3" path="res://Assets/Sprites/Particles/Leaves.png" id="4_3g67n"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="5_254o8"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/Fan.json" id="5_lkjwe"]
[ext_resource type="JSON" path="res://Assets/Sprites/Particles/WindParticles.json" id="6_vnvew"]
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="7_cdvdi"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="8_yp1rr"]
[sub_resource type="AtlasTexture" id="AtlasTexture_lkjwe"]
atlas = ExtResource("2_lggcr")
region = Rect2(0, 0, 16, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_shbxw"]
atlas = ExtResource("2_lggcr")
region = Rect2(16, 0, 16, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_3g67n"]
atlas = ExtResource("2_lggcr")
region = Rect2(32, 0, 16, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_254o8"]
atlas = ExtResource("2_lggcr")
region = Rect2(48, 0, 16, 48)
[sub_resource type="SpriteFrames" id="SpriteFrames_vnvew"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_lkjwe")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_shbxw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3g67n")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_254o8")
}],
"loop": true,
"name": &"On",
"speed": 30.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_wvrj8"]
size = Vector2(16, 48)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4qr7a"]
size = Vector2(256, 36)
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_wo6ri"]
particles_animation = true
particles_anim_h_frames = 2
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="Curve" id="Curve_56hbg"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.894444, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_8c2la"]
curve = SubResource("Curve_56hbg")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ixtv2"]
particle_flag_disable_z = true
emission_shape_scale = Vector3(1, 15, 1)
emission_shape = 3
emission_box_extents = Vector3(1, 1, 1)
spread = 0.0
initial_velocity_min = 100.0
initial_velocity_max = 500.0
angular_velocity_min = -720.0
angular_velocity_max = 720.0
gravity = Vector3(0, 0, 0)
alpha_curve = SubResource("CurveTexture_8c2la")
anim_offset_max = 1.0
[sub_resource type="GDScript" id="GDScript_gfuw1"]
script/source = "extends Node
@export var sprite: AnimatedSprite2D = null
func _process(_delta: float) -> void:
$\"..\".global_rotation_degrees = [0, 180, -90, 90][owner.direction]
sprite.global_rotation_degrees = [0, 0, 90, 90][owner.direction]
sprite.flip_h = owner.direction == 1 or owner.direction == 2
"
[node name="Fan" type="AnimatableBody2D"]
collision_layer = 6
collision_mask = 0
sync_to_physics = false
script = ExtResource("1_lggcr")
active = true
[node name="RotationJoint" type="Node2D" parent="."]
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_vnvew")
animation = &"On"
autoplay = "On"
frame_progress = 0.9855531
script = ExtResource("3_shbxw")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("5_254o8")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("5_lkjwe")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_wvrj8")
[node name="Hitbox" type="Area2D" parent="."]
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(128, 0)
shape = SubResource("RectangleShape2D_4qr7a")
[node name="Particles" type="GPUParticles2D" parent="."]
unique_name_in_owner = true
material = SubResource("CanvasItemMaterial_wo6ri")
emitting = false
texture = ExtResource("4_3g67n")
lifetime = 0.5
process_material = SubResource("ParticleProcessMaterial_ixtv2")
[node name="ResourceSetterNew" type="Node" parent="Particles" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("5_254o8")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("6_vnvew")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Node" type="Node" parent="." node_paths=PackedStringArray("sprite")]
process_mode = 3
script = SubResource("GDScript_gfuw1")
sprite = NodePath("../Sprite")
[node name="EditorPropertyExposer" type="Node" parent="."]
script = ExtResource("7_cdvdi")
properties = Array[String](["direction", "strength"])
metadata/_custom_type_script = "uid://ctfbuoxtnnl0q"
[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("8_yp1rr")
offset = Vector2(0, 0)
disable_physics = false
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="."]
remote_path = NodePath("../Sprite")
update_rotation = false
update_scale = false

View File

@@ -0,0 +1,41 @@
[gd_scene load_steps=8 format=3 uid="uid://canoj6slqk5ee"]
[ext_resource type="PackedScene" uid="uid://58uk17ixtt4r" path="res://Scenes/Prefabs/Blocks/InvisibleBlocks/InvisibleQuestionBlock.tscn" id="1_etg4d"]
[ext_resource type="PackedScene" uid="uid://beq7b3hp44onn" path="res://Scenes/Prefabs/Entities/Items/SuperMushroom.tscn" id="2_r7sg8"]
[ext_resource type="Texture2D" uid="uid://bsyugykvflalf" path="res://Assets/Sprites/Items/1UP.png" id="3_anjgk"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/OneUp.json" id="4_x1m83"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="5_tx2wx"]
[sub_resource type="AtlasTexture" id="AtlasTexture_3yqrr"]
atlas = ExtResource("3_anjgk")
region = Rect2(16, 0, 16, 16)
[sub_resource type="PackedScene" id="PackedScene_vm6bi"]
_bundled = {
"base_scene": 0,
"conn_count": 0,
"conns": PackedInt32Array(),
"editable_instances": [],
"names": PackedStringArray("OneUp", "metadata/is_oneup", "Mushroom", "texture", "region_enabled", "region_rect", "ResourceSetterNew", "resource_json", "ScoreNoteSpawner", "Node", "script", "metadata/_custom_type_script"),
"node_count": 4,
"node_paths": [NodePath("."), NodePath("./Mushroom"), NodePath(".")],
"nodes": PackedInt32Array(-1, -1, 2147483647, 0, -1, 1, 1, 1, 0, 1073741824, -1, 2147483647, 262146, -1, 3, 3, 2, 4, 3, 5, 4, 0, 1073741825, -1, 2147483647, 262150, -1, 1, 7, 5, 0, 1073741826, 0, 9, 1310728, -1, 2, 10, 6, 11, 7, 0),
"variants": [ExtResource("2_r7sg8"), true, SubResource("AtlasTexture_3yqrr"), false, Rect2(16, 0, 16, 16), ExtResource("4_x1m83"), ExtResource("5_tx2wx"), "uid://5octqlf4ohel"],
"version": 3
}
[node name="InvisibleQuestionBlock" instance=ExtResource("1_etg4d")]
item = SubResource("PackedScene_vm6bi")
[node name="Sprite2D" type="Sprite2D" parent="." index="6"]
texture = ExtResource("3_anjgk")
region_enabled = true
region_rect = Rect2(16, 0, 16, 16)
[node name="Timer" type="Timer" parent="Sprite2D" index="0"]
wait_time = 0.001
autostart = true
[connection signal="timeout" from="Sprite2D/Timer" to="Sprite2D" method="queue_free"]
[editable path="BlockAnimations"]

View File

@@ -0,0 +1,76 @@
[gd_scene load_steps=15 format=3 uid="uid://n1xyk5g5r4h6"]
[ext_resource type="PackedScene" uid="uid://58uk17ixtt4r" path="res://Scenes/Prefabs/Blocks/InvisibleBlocks/InvisibleQuestionBlock.tscn" id="1_okju0"]
[ext_resource type="Script" uid="uid://cjkurwybsaywm" path="res://Scripts/Classes/Entities/Items/PowerUpItem.gd" id="2_xbua8"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_ftruy"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/FireFlower.json" id="5_3bcnt"]
[ext_resource type="Script" uid="uid://bx6r8sjar6cwr" path="res://Scripts/Classes/Components/BasicStaticMovement.gd" id="6_n8jdl"]
[ext_resource type="Texture2D" uid="uid://hfh5i32uji5t" path="res://Assets/Sprites/Items/SuperMushroom.png" id="6_xbua8"]
[sub_resource type="AtlasTexture" id="AtlasTexture_db8fa"]
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_11cns"]
region = Rect2(16, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_brn7u"]
region = Rect2(32, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_fwmx2"]
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(12, 12)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kjjbq"]
size = Vector2(8, 8)
[sub_resource type="PackedScene" id="PackedScene_sst3l"]
_bundled = {
"conn_count": 1,
"conns": PackedInt32Array(1073741831, 1073741830, 35, 34, 2, 0, 0),
"editable_instances": [],
"names": PackedStringArray("FireFlower", "CharacterBody2D", "z_index", "collision_layer", "collision_mask", "script", "power_up_state", "metadata/_custom_type_script", "Sprite", "AnimatedSprite2D", "position", "sprite_frames", "autoplay", "frame_progress", "ResourceSetterNew", "Node", "script", "node_to_affect", "property_name", "resource_json", "metadata/_custom_type_script", "Hitbox", "Area2D", "Shape", "CollisionShape2D", "position", "shape", "Collision", "CollisionShape2D", "position", "shape", "StaticEntityMovement", "Node", "script", "on_area_entered", "area_entered"),
"node_count": 7,
"node_paths": [NodePath("."), NodePath("./Sprite"), NodePath("."), NodePath("./Hitbox"), NodePath("."), NodePath("."), NodePath("."), NodePath("Hitbox")],
"nodes": PackedInt32Array(-1, -1, 1, 0, -1, 6, 2, 0, 3, 1, 4, 2, 5, 3, 6, 4, 7, 5, 0, 1073741824, 0, 9, 8, -1, 4, 10, 6, 11, 7, 12, 8, 13, 9, 0, 1073741825, 0, 15, 14, -1, 5, 16, 10, 1073741841, 11, 18, 12, 19, 13, 20, 14, 0, 1073741826, 0, 22, 21, -1, 0, 0, 1073741827, 0, 24, 23, -1, 2, 25, 15, 26, 16, 0, 1073741828, 0, 28, 27, -1, 2, 29, 17, 30, 18, 0, 1073741829, 0, 32, 31, -1, 1, 33, 19, 0),
"variants": [-1, 8, 2, ExtResource("2_xbua8"), "Fire", "uid://cjkurwybsaywm", Vector2(0, -8), SubResource("SpriteFrames_gid51"), "default", 0.157931, ExtResource("4_ftruy"), NodePath(".."), "sprite_frames", ExtResource("5_3bcnt"), "uid://cbal8ms2oe1ik", Vector2(0, -8), SubResource("RectangleShape2D_16uf3"), Vector2(0, -4), SubResource("RectangleShape2D_kjjbq"), ExtResource("6_n8jdl")],
"version": 3
}
[node name="InvisibleQuestionBlock" instance=ExtResource("1_okju0")]
item = SubResource("PackedScene_sst3l")
mushroom_if_small = true
[node name="Sprite2D" type="Sprite2D" parent="." index="6"]
texture = ExtResource("6_xbua8")
region_enabled = true
region_rect = Rect2(0, 0, 16, 16)
[node name="Timer" type="Timer" parent="Sprite2D" index="0"]
wait_time = 0.001
autostart = true
[connection signal="timeout" from="Sprite2D/Timer" to="Sprite2D" method="queue_free"]
[editable path="BlockAnimations"]

View File

@@ -0,0 +1,54 @@
[gd_scene load_steps=9 format=3 uid="uid://58uk17ixtt4r"]
[ext_resource type="PackedScene" uid="uid://bc1mrna4kybhv" path="res://Scenes/Prefabs/Blocks/QuestionBlocks/QuestionBlock.tscn" id="1_8myna"]
[ext_resource type="Texture2D" uid="uid://bylhrj768sua2" path="res://Assets/Sprites/Blocks/InvisibleBlock.png" id="2_qh1vn"]
[ext_resource type="Script" uid="uid://s5e3ps0g7nya" path="res://Scripts/Classes/Blocks/InvisibleQuestionBlock.gd" id="2_u3lik"]
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="4_f783k"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="5_8tag8"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/InvisibleBlock.json" id="6_xdyfy"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f783k"]
size = Vector2(16, 1)
[sub_resource type="AtlasTexture" id="AtlasTexture_nrsus"]
atlas = ExtResource("2_qh1vn")
region = Rect2(0, 0, 16, 16)
[node name="InvisibleQuestionBlock" instance=ExtResource("1_8myna")]
collision_layer = 1
script = ExtResource("2_u3lik")
combo_meter_amount = 10
[node name="Sprite" parent="." index="0"]
visible = false
[node name="Collision" parent="." index="1"]
visible = true
rotation = 3.14159
disabled = true
[node name="Hitbox" type="Area2D" parent="." index="3"]
position = Vector2(0, 8)
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"]
shape = SubResource("RectangleShape2D_f783k")
[node name="Node2D" type="Node2D" parent="." index="4"]
visibility_layer = 2
script = ExtResource("4_f783k")
[node name="EditorIcon" type="Sprite2D" parent="Node2D" index="0"]
texture = SubResource("AtlasTexture_nrsus")
[node name="ResourceSetter" type="Node" parent="Node2D/EditorIcon" index="0" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("5_8tag8")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("6_xdyfy")
use_cache = false
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
[editable path="BlockAnimations"]

View File

@@ -0,0 +1,72 @@
[gd_scene load_steps=9 format=3 uid="uid://b4uqa4y5o63xy"]
[ext_resource type="PackedScene" uid="uid://bxvcax2wc48xh" path="res://Scenes/Prefabs/Blocks/NoteBlock.tscn" id="1_2p7lf"]
[ext_resource type="Script" uid="uid://2gxl5hj6mf6a" path="res://Scripts/Classes/Blocks/MusicNoteBlock.gd" id="2_1gaxc"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/MusicNoteBlock.json" id="3_d6amy"]
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="3_lw6l2"]
[ext_resource type="Texture2D" uid="uid://b8su0m8876337" path="res://Assets/Sprites/Editor/NoteBlockNotes.png" id="4_d6amy"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="6_gpide"]
[sub_resource type="AudioStreamGenerator" id="AudioStreamGenerator_1gaxc"]
[sub_resource type="GDScript" id="GDScript_lw6l2"]
script/source = "extends Node
func _process(_delta: float) -> void:
%Note.frame = owner.note
%Octave.frame = owner.octave + 11
"
[node name="NoteBlock" instance=ExtResource("1_2p7lf")]
script = ExtResource("2_1gaxc")
play_on_load = false
instrument = 0
note = 3
octave = 2
play_sfx = false
[node name="ResourceSetterNew" parent="Sprite" index="0"]
resource_json = ExtResource("3_d6amy")
[node name="EditorPropertyExposer" parent="." index="3"]
properties = Array[String](["instrument", "note", "octave", "play_on_load"])
[node name="Instrument" type="AudioStreamPlayer2D" parent="." index="4"]
process_mode = 3
stream = SubResource("AudioStreamGenerator_1gaxc")
volume_db = 24.0
bus = &"SFX"
[node name="LevelEditorVisibleNode" type="Node2D" parent="." index="5"]
script = ExtResource("3_lw6l2")
metadata/_custom_type_script = "uid://cpwloakvp672a"
[node name="Note" type="Sprite2D" parent="LevelEditorVisibleNode" index="0"]
unique_name_in_owner = true
position = Vector2(1, -5)
texture = ExtResource("4_d6amy")
hframes = 12
vframes = 2
frame = 1
[node name="Octave" type="Sprite2D" parent="LevelEditorVisibleNode" index="1"]
unique_name_in_owner = true
position = Vector2(6, -5)
texture = ExtResource("4_d6amy")
hframes = 12
vframes = 2
frame = 12
[node name="Node" type="Node" parent="." index="6"]
process_mode = 3
script = SubResource("GDScript_lw6l2")
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="." index="7"]
[node name="TrackJoint" type="Node" parent="." index="8"]
script = ExtResource("6_gpide")
offset = Vector2(0, 0)
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[connection signal="bounced" from="." to="." method="play_sfx_preview"]
[connection signal="screen_entered" from="VisibleOnScreenNotifier2D" to="." method="on_screen_entered"]

View File

@@ -0,0 +1,153 @@
[gd_scene load_steps=15 format=3 uid="uid://bxvcax2wc48xh"]
[ext_resource type="Script" uid="uid://c0diue1hemrxq" path="res://Scripts/Classes/Blocks/NoteBlock.gd" id="1_lhrvd"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_jg54v"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/NoteBlock.json" id="4_lhrvd"]
[ext_resource type="Texture2D" uid="uid://bk4q17a2esuy1" path="res://Assets/Sprites/Blocks/NoteBlock.png" id="4_pp28j"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="6_4015b"]
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="6_jg54v"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ibsa0"]
atlas = ExtResource("4_pp28j")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_26wi5"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ibsa0")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_jg54v"]
size = Vector2(14, 9.5)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4015b"]
size = Vector2(16, 16)
[sub_resource type="Animation" id="Animation_4015b"]
resource_name = "BounceDown"
length = 0.24
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.10000001, 0.20000002),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, 12), Vector2(0, 0)]
}
tracks/1/type = "method"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.1),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"bounce_bodies"
}]
}
[sub_resource type="Animation" id="Animation_lhrvd"]
resource_name = "BounceUp"
length = 0.24
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.10000001, 0.20000002),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, -8), Vector2(0, 0)]
}
[sub_resource type="Animation" id="Animation_jg54v"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:position")
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_pp28j"]
_data = {
&"BounceDown": SubResource("Animation_4015b"),
&"BounceUp": SubResource("Animation_lhrvd"),
&"RESET": SubResource("Animation_jg54v")
}
[node name="NoteBlock" type="AnimatableBody2D" node_paths=PackedStringArray("visuals")]
collision_layer = 6
sync_to_physics = false
script = ExtResource("1_lhrvd")
visuals = NodePath("Sprite")
destructable = false
metadata/_custom_type_script = "uid://b5ejlbl0vp1gm"
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_26wi5")
autoplay = "default"
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("2_jg54v")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_lhrvd")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Area" type="Area2D" parent="Sprite"]
unique_name_in_owner = true
priority = -1
[node name="Shape" type="CollisionShape2D" parent="Sprite/Area"]
position = Vector2(0, -12.25)
shape = SubResource("RectangleShape2D_jg54v")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sprite"]
remote_path = NodePath("../../Collision")
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_4015b")
[node name="Animations" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
&"": SubResource("AnimationLibrary_pp28j")
}
[node name="EditorPropertyExposer" type="Node" parent="."]
script = ExtResource("6_jg54v")
properties = Array[String](["item", "item_amount"])
filters = Dictionary[String, String]({
"item": "can_note_store"
})
[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("6_4015b")
offset = Vector2(0, 0)
disable_physics = false
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[connection signal="player_block_hit" from="." to="." method="bounce_up" unbinds=1]
[connection signal="shell_block_hit" from="." to="." method="bounce_up" unbinds=1]
[connection signal="area_entered" from="Sprite/Area" to="." method="on_area_entered"]

View File

@@ -0,0 +1,42 @@
[gd_scene load_steps=7 format=3 uid="uid://c685xkxf085tc"]
[ext_resource type="PackedScene" uid="uid://by6ndsjhlkmbt" path="res://Scenes/Prefabs/Blocks/BooRaceBlocks/BooOnOffBlock.tscn" id="1_x3cu1"]
[ext_resource type="Texture2D" uid="uid://dql2td7sut6m8" path="res://Assets/Sprites/Blocks/OnOffBlock.png" id="2_m1hcn"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/OnOffBlockRed.json" id="3_m1hcn"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ieqkm"]
atlas = ExtResource("2_m1hcn")
region = Rect2(16, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_y0v5j"]
atlas = ExtResource("2_m1hcn")
region = Rect2(0, 16, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_boqyf"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ieqkm")
}],
"loop": false,
"name": &"Off",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_y0v5j")
}],
"loop": false,
"name": &"On",
"speed": 15.0
}]
[node name="OnOffBlock" instance=ExtResource("1_x3cu1")]
[node name="Sprite" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_boqyf")
animation = &"Off"
autoplay = ""
[node name="ResourceSetter" parent="Sprite" index="0"]
resource_json = ExtResource("3_m1hcn")

View File

@@ -0,0 +1,46 @@
[gd_scene load_steps=7 format=3 uid="uid://b5cw2667exll"]
[ext_resource type="PackedScene" uid="uid://by6ndsjhlkmbt" path="res://Scenes/Prefabs/Blocks/BooRaceBlocks/BooOnOffBlock.tscn" id="1_gov4d"]
[ext_resource type="Texture2D" uid="uid://dql2td7sut6m8" path="res://Assets/Sprites/Blocks/OnOffBlock.png" id="2_pg6um"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/BlueOnOffBlock.json" id="3_pg6um"]
[sub_resource type="AtlasTexture" id="AtlasTexture_pg6um"]
atlas = ExtResource("2_pg6um")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_85gn6"]
atlas = ExtResource("2_pg6um")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_m455b"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_pg6um")
}],
"loop": false,
"name": &"Off",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_85gn6")
}],
"loop": false,
"name": &"On",
"speed": 15.0
}]
[node name="OnOffBlock" instance=ExtResource("1_gov4d")]
active = true
[node name="Sprite" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_m455b")
animation = &"On"
autoplay = "On"
[node name="ResourceSetter" parent="Sprite" index="0"]
resource_json = ExtResource("3_pg6um")
[node name="Collision" parent="." index="1"]
disabled = false

View File

@@ -0,0 +1,64 @@
[gd_scene load_steps=10 format=3 uid="uid://3pvbcy3lkl7r"]
[ext_resource type="PackedScene" uid="uid://lglmgqp3emy4" path="res://Scenes/Prefabs/Blocks/OnOffFanRed.tscn" id="1_d1mvb"]
[ext_resource type="Texture2D" uid="uid://d0o6wgsrow8t1" path="res://Assets/Sprites/Blocks/OnOffFan.png" id="2_doyjh"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/OffFan.json" id="3_doyjh"]
[sub_resource type="AtlasTexture" id="AtlasTexture_b8pdc"]
atlas = ExtResource("2_doyjh")
region = Rect2(0, 48, 16, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_11aaj"]
atlas = ExtResource("2_doyjh")
region = Rect2(0, 48, 16, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_q1sv5"]
atlas = ExtResource("2_doyjh")
region = Rect2(16, 48, 16, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_f12lw"]
atlas = ExtResource("2_doyjh")
region = Rect2(32, 48, 16, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_qypud"]
atlas = ExtResource("2_doyjh")
region = Rect2(48, 48, 16, 48)
[sub_resource type="SpriteFrames" id="SpriteFrames_riapl"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_b8pdc")
}],
"loop": true,
"name": &"Off",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_11aaj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_q1sv5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f12lw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qypud")
}],
"loop": true,
"name": &"On",
"speed": 30.0
}]
[node name="OnOffFanBlue" instance=ExtResource("1_d1mvb")]
active = true
[node name="Sprite" parent="." index="1"]
sprite_frames = SubResource("SpriteFrames_riapl")
animation = &"On"
frame_progress = 0.6434357
[node name="ResourceSetterNew" parent="Sprite" index="0"]
resource_json = ExtResource("3_doyjh")

View File

@@ -0,0 +1,173 @@
[gd_scene load_steps=23 format=3 uid="uid://lglmgqp3emy4"]
[ext_resource type="Script" uid="uid://bvplls3ae0oqr" path="res://Scripts/Classes/Entities/Objects/OnOffFanRed.gd" id="1_gfuw1"]
[ext_resource type="Texture2D" uid="uid://d0o6wgsrow8t1" path="res://Assets/Sprites/Blocks/OnOffFan.png" id="1_y6e5m"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_xmnks"]
[ext_resource type="Texture2D" uid="uid://dy3p03djelkb3" path="res://Assets/Sprites/Particles/Leaves.png" id="4_wvhkg"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="5_ak3jd"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/OnFan.json" id="5_elapr"]
[ext_resource type="JSON" path="res://Assets/Sprites/Particles/WindParticles.json" id="6_elapr"]
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="7_wvhkg"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="8_ak3jd"]
[sub_resource type="AtlasTexture" id="AtlasTexture_fo8qw"]
atlas = ExtResource("1_y6e5m")
region = Rect2(0, 0, 16, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_oa48t"]
atlas = ExtResource("1_y6e5m")
region = Rect2(0, 0, 16, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_gfuw1"]
atlas = ExtResource("1_y6e5m")
region = Rect2(16, 0, 16, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_wvhkg"]
atlas = ExtResource("1_y6e5m")
region = Rect2(32, 0, 16, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ak3jd"]
atlas = ExtResource("1_y6e5m")
region = Rect2(48, 0, 16, 48)
[sub_resource type="SpriteFrames" id="SpriteFrames_elapr"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_fo8qw")
}],
"loop": true,
"name": &"Off",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_oa48t")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gfuw1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wvhkg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ak3jd")
}],
"loop": true,
"name": &"On",
"speed": 30.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_wvrj8"]
size = Vector2(16, 48)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4qr7a"]
size = Vector2(256, 36)
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_wo6ri"]
particles_animation = true
particles_anim_h_frames = 2
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="Curve" id="Curve_56hbg"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.894444, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_8c2la"]
curve = SubResource("Curve_56hbg")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ixtv2"]
particle_flag_disable_z = true
emission_shape_scale = Vector3(1, 15, 1)
emission_shape = 3
emission_box_extents = Vector3(1, 1, 1)
spread = 0.0
initial_velocity_min = 100.0
initial_velocity_max = 500.0
angular_velocity_min = -720.0
angular_velocity_max = 720.0
gravity = Vector3(0, 0, 0)
alpha_curve = SubResource("CurveTexture_8c2la")
anim_offset_max = 1.0
[sub_resource type="GDScript" id="GDScript_gfuw1"]
script/source = "extends Node
@export var sprite: AnimatedSprite2D = null
func _process(_delta: float) -> void:
$\"..\".global_rotation_degrees = [0, 180, -90, 90][owner.direction]
sprite.global_rotation_degrees = [0, 0, 90, 90][owner.direction]
sprite.flip_h = owner.direction == 1 or owner.direction == 2
"
[node name="OnOffFanRed" type="AnimatableBody2D" groups=["BooBlocks"]]
collision_layer = 6
collision_mask = 0
sync_to_physics = false
script = ExtResource("1_gfuw1")
[node name="RotationJoint" type="Node2D" parent="."]
[node name="Sprite" type="AnimatedSprite2D" parent="."]
top_level = true
sprite_frames = SubResource("SpriteFrames_elapr")
animation = &"Off"
frame_progress = 0.50883424
script = ExtResource("2_xmnks")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("5_ak3jd")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("5_elapr")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_wvrj8")
[node name="Hitbox" type="Area2D" parent="."]
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
position = Vector2(128, 0)
shape = SubResource("RectangleShape2D_4qr7a")
[node name="Particles" type="GPUParticles2D" parent="."]
unique_name_in_owner = true
material = SubResource("CanvasItemMaterial_wo6ri")
emitting = false
texture = ExtResource("4_wvhkg")
lifetime = 0.5
process_material = SubResource("ParticleProcessMaterial_ixtv2")
[node name="ResourceSetterNew" type="Node" parent="Particles" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("5_ak3jd")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("6_elapr")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Node" type="Node" parent="." node_paths=PackedStringArray("sprite")]
process_mode = 3
script = SubResource("GDScript_gfuw1")
sprite = NodePath("../Sprite")
[node name="EditorPropertyExposer" type="Node" parent="."]
script = ExtResource("7_wvhkg")
properties = Array[String](["direction", "strength"])
metadata/_custom_type_script = "uid://ctfbuoxtnnl0q"
[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("8_ak3jd")
offset = Vector2(0, 0)
disable_physics = false
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="."]
remote_path = NodePath("../Sprite")
update_rotation = false
update_scale = false

View File

@@ -0,0 +1,72 @@
[gd_scene load_steps=10 format=3 uid="uid://c0020qrw11oy4"]
[ext_resource type="PackedScene" uid="uid://5ua3p0lfl1bf" path="res://Scenes/Prefabs/Blocks/BooRaceBlocks/BooOnOffSwitch.tscn" id="1_bblk7"]
[ext_resource type="Texture2D" uid="uid://sy6ivu4qc0o3" path="res://Assets/Sprites/Blocks/OnOffSwitch.png" id="2_xglou"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/OnOffSwitch.json" id="3_xglou"]
[sub_resource type="AtlasTexture" id="AtlasTexture_cs2ia"]
atlas = ExtResource("2_xglou")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_8o30n"]
atlas = ExtResource("2_xglou")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_heqbn"]
atlas = ExtResource("2_xglou")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_hi63j"]
atlas = ExtResource("2_xglou")
region = Rect2(16, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_i1gmf"]
atlas = ExtResource("2_xglou")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_d785i"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_cs2ia")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8o30n")
}],
"loop": true,
"name": &"Off",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_heqbn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hi63j")
}],
"loop": true,
"name": &"On",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_i1gmf")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[node name="OnOffSwitch" instance=ExtResource("1_bblk7")]
destructable = false
[node name="Sprite" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_d785i")
animation = &"Off"
autoplay = "Off"
[node name="ResourceSetter" parent="Sprite" index="0"]
resource_json = ExtResource("3_xglou")
[connection signal="shell_block_hit" from="." to="." method="on_block_hit" unbinds=1]
[connection signal="shell_block_hit" from="." to="BlockAnimations" method="bounce_block" unbinds=1]

View File

@@ -0,0 +1,27 @@
[gd_scene load_steps=5 format=3 uid="uid://q3aaukgw01nw"]
[ext_resource type="Texture2D" uid="uid://ln7uey6c4mf" path="res://Assets/Sprites/Blocks/PSwitchBlock.png" id="1_8hxb6"]
[ext_resource type="Script" uid="uid://bul1nbd2in1gn" path="res://Scripts/Classes/Components/PSwitcher.gd" id="2_13wn0"]
[ext_resource type="Script" uid="uid://364rywt44hy6" path="res://Scripts/Classes/UI/PackSprite.gd" id="2_ok1ms"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_13wn0"]
size = Vector2(16, 16)
[node name="PSwitchBlock" type="StaticBody2D"]
collision_layer = 6
collision_mask = 0
[node name="Sprite" type="Sprite2D" parent="."]
texture = ExtResource("1_8hxb6")
region_enabled = true
region_rect = Rect2(0, 0, 16, 16)
script = ExtResource("2_ok1ms")
metadata/_custom_type_script = "uid://364rywt44hy6"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_13wn0")
[node name="PSwitcher" type="Node" parent="."]
script = ExtResource("2_13wn0")
new_scene = "uid://cn7wwtug5xman"
metadata/_custom_type_script = "uid://bul1nbd2in1gn"

View File

@@ -0,0 +1,33 @@
[gd_scene load_steps=8 format=3 uid="uid://bao37nqa7h7cm"]
[ext_resource type="PackedScene" uid="uid://urrtgm0h110y" path="res://Scenes/Prefabs/Blocks/QuestionBlocks/StarQuestionBlock.tscn" id="1_ub15u"]
[ext_resource type="PackedScene" uid="uid://beq7b3hp44onn" path="res://Scenes/Prefabs/Entities/Items/SuperMushroom.tscn" id="2_c153q"]
[ext_resource type="Texture2D" uid="uid://bsyugykvflalf" path="res://Assets/Sprites/Items/1UP.png" id="3_gaiqt"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/OneUp.json" id="4_1kwpx"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="5_8uw6t"]
[sub_resource type="AtlasTexture" id="AtlasTexture_3yqrr"]
atlas = ExtResource("3_gaiqt")
region = Rect2(16, 0, 16, 16)
[sub_resource type="PackedScene" id="PackedScene_dklm2"]
_bundled = {
"base_scene": 0,
"conn_count": 0,
"conns": PackedInt32Array(),
"editable_instances": [],
"names": PackedStringArray("OneUp", "metadata/is_oneup", "Mushroom", "texture", "region_enabled", "region_rect", "ResourceSetterNew", "resource_json", "ScoreNoteSpawner", "Node", "script", "metadata/_custom_type_script"),
"node_count": 4,
"node_paths": [NodePath("."), NodePath("./Mushroom"), NodePath(".")],
"nodes": PackedInt32Array(-1, -1, 2147483647, 0, -1, 1, 1, 1, 0, 1073741824, -1, 2147483647, 262146, -1, 3, 3, 2, 4, 3, 5, 4, 0, 1073741825, -1, 2147483647, 262150, -1, 1, 7, 5, 0, 1073741826, 0, 9, 1310728, -1, 2, 10, 6, 11, 7, 0),
"variants": [ExtResource("2_c153q"), true, SubResource("AtlasTexture_3yqrr"), false, Rect2(16, 0, 16, 16), ExtResource("4_1kwpx"), ExtResource("5_8uw6t"), "uid://5octqlf4ohel"],
"version": 3
}
[node name="QuestionBlock" instance=ExtResource("1_ub15u")]
item = SubResource("PackedScene_dklm2")
[node name="Sprite2D" parent="ItemPreview" index="0"]
region_rect = Rect2(16, 0, 16, 16)
[editable path="BlockAnimations"]

View File

@@ -0,0 +1,34 @@
[gd_scene load_steps=7 format=3 uid="uid://um8m5iu20qj3"]
[ext_resource type="PackedScene" uid="uid://bc1mrna4kybhv" path="res://Scenes/Prefabs/Blocks/QuestionBlocks/QuestionBlock.tscn" id="1_l2pjc"]
[ext_resource type="PackedScene" uid="uid://beq7b3hp44onn" path="res://Scenes/Prefabs/Entities/Items/SuperMushroom.tscn" id="2_cyrh8"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/PoisonMushroom.json" id="3_0pdxv"]
[ext_resource type="Texture2D" uid="uid://011dooyd0elr" path="res://Assets/Sprites/Items/PoisonMushroom.png" id="3_rsq7m"]
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="3_whgk1"]
[sub_resource type="PackedScene" id="PackedScene_qyrv6"]
_bundled = {
"base_scene": 0,
"conn_count": 0,
"conns": PackedInt32Array(),
"editable_instances": [],
"names": PackedStringArray("SuperMushroom", "metadata/is_poison", "Mushroom", "region_enabled", "region_rect", "ResourceSetterNew", "resource_json"),
"node_count": 3,
"node_paths": [NodePath("."), NodePath("./Mushroom")],
"nodes": PackedInt32Array(-1, -1, 2147483647, 0, -1, 1, 1, 1, 0, 1073741824, -1, 2147483647, 262146, -1, 2, 3, 2, 4, 3, 0, 1073741825, -1, 2147483647, 262149, -1, 1, 6, 4, 0),
"variants": [ExtResource("2_cyrh8"), false, false, Rect2(32, 0, 16, 16), ExtResource("3_0pdxv")],
"version": 3
}
[node name="QuestionBlock" instance=ExtResource("1_l2pjc")]
item = SubResource("PackedScene_qyrv6")
[node name="Node2D" type="Node2D" parent="." index="3"]
script = ExtResource("3_whgk1")
[node name="Sprite2D" type="Sprite2D" parent="Node2D" index="0"]
texture = ExtResource("3_rsq7m")
region_enabled = true
region_rect = Rect2(32, 0, 16, 16)
[editable path="BlockAnimations"]

View File

@@ -0,0 +1,21 @@
[gd_scene load_steps=5 format=3 uid="uid://cmgahojpgp2cq"]
[ext_resource type="PackedScene" uid="uid://bc1mrna4kybhv" path="res://Scenes/Prefabs/Blocks/QuestionBlocks/QuestionBlock.tscn" id="1_gy3k6"]
[ext_resource type="PackedScene" uid="uid://dbjqtjhb2t4cn" path="res://Scenes/Prefabs/Entities/Items/FireFlower.tscn" id="2_h6l2a"]
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="3_32rpa"]
[ext_resource type="Texture2D" uid="uid://hfh5i32uji5t" path="res://Assets/Sprites/Items/SuperMushroom.png" id="4_h6l2a"]
[node name="QuestionBlock" instance=ExtResource("1_gy3k6")]
item = ExtResource("2_h6l2a")
mushroom_if_small = true
[node name="ItemPreview" type="Node2D" parent="." index="3"]
script = ExtResource("3_32rpa")
[node name="Sprite2D" type="Sprite2D" parent="ItemPreview" index="0"]
texture = ExtResource("4_h6l2a")
region_enabled = true
region_rect = Rect2(0, 0, 16, 16)
region_filter_clip_enabled = true
[editable path="BlockAnimations"]

View File

@@ -0,0 +1,105 @@
[gd_scene load_steps=17 format=3 uid="uid://bc1mrna4kybhv"]
[ext_resource type="Script" uid="uid://b5ejlbl0vp1gm" path="res://Scripts/Classes/Blocks/BlockClass.gd" id="1_bxree"]
[ext_resource type="Texture2D" uid="uid://uh7uhdkv3e6s" path="res://Assets/Sprites/Blocks/QuestionBlock.png" id="1_wt4d5"]
[ext_resource type="PackedScene" uid="uid://clxssds8sj8pf" path="res://Scenes/Prefabs/Entities/Items/SpinningCoin.tscn" id="2_ntyfr"]
[ext_resource type="PackedScene" uid="uid://dt58tjrnarms0" path="res://Scenes/Prefabs/Particles/QuestionBlockDestructionParticles.tscn" id="3_mvk7u"]
[ext_resource type="PackedScene" uid="uid://cijkvfkthetn5" path="res://Scenes/Parts/BlockAnimations.tscn" id="3_ntyfr"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_qf42s"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/QuestionBlock.json" id="5_mkj8t"]
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="7_aekuo"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="8_ov42f"]
[ext_resource type="Script" uid="uid://maqpreddu5kg" path="res://Scripts/Classes/Components/LevelPersistance.gd" id="9_j1txv"]
[sub_resource type="AtlasTexture" id="AtlasTexture_w6pbl"]
atlas = ExtResource("1_wt4d5")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_bxree"]
atlas = ExtResource("1_wt4d5")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ntyfr"]
atlas = ExtResource("1_wt4d5")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_aukm0"]
atlas = ExtResource("1_wt4d5")
region = Rect2(48, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_qf42s"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_w6pbl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bxree")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ntyfr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_aukm0")
}],
"loop": true,
"name": &"default",
"speed": 1.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mkj8t"]
size = Vector2(16, 16)
[node name="QuestionBlock" type="AnimatableBody2D" node_paths=PackedStringArray("visuals") groups=["Blocks"]]
collision_layer = 6
collision_mask = 0
sync_to_physics = false
script = ExtResource("1_bxree")
visuals = NodePath("Sprite")
item = ExtResource("2_ntyfr")
destruction_particle_scene = ExtResource("3_mvk7u")
combo_meter_amount = 30
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_qf42s")
autoplay = "default"
frame_progress = 0.2849915
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("4_qf42s")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("5_mkj8t")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
visible = false
shape = SubResource("RectangleShape2D_mkj8t")
[node name="BlockAnimations" parent="." instance=ExtResource("3_ntyfr")]
[node name="EditorPropertyExposer" type="Node" parent="."]
script = ExtResource("7_aekuo")
properties = Array[String](["item", "item_amount", "mushroom_if_small"])
filters = Dictionary[String, String]({
"item": "can_be_stored"
})
[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("8_ov42f")
offset = Vector2(0, 0)
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[node name="LevelPersistance" type="Node" parent="."]
script = ExtResource("9_j1txv")
metadata/_custom_type_script = "uid://maqpreddu5kg"
[connection signal="block_destroyed" from="." to="LevelPersistance" method="set_as_active_2"]
[connection signal="block_emptied" from="." to="LevelPersistance" method="set_as_active"]
[connection signal="player_block_hit" from="." to="." method="player_mushroom_check"]
[connection signal="player_block_hit" from="." to="." method="dispense_item" unbinds=1]
[connection signal="player_block_hit" from="." to="BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="shell_block_hit" from="." to="." method="dispense_item" unbinds=1]
[connection signal="shell_block_hit" from="." to="BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="enabled" from="LevelPersistance" to="." method="spawn_empty_block"]
[connection signal="enabled_2" from="LevelPersistance" to="." method="queue_free"]

View File

@@ -0,0 +1,80 @@
[gd_scene load_steps=17 format=3 uid="uid://urrtgm0h110y"]
[ext_resource type="PackedScene" uid="uid://cmgahojpgp2cq" path="res://Scenes/Prefabs/Blocks/QuestionBlocks/PowerUpQuestionBlock.tscn" id="1_t6w6o"]
[ext_resource type="Script" uid="uid://dbeg86pjflojw" path="res://Scripts/Classes/Entities/Items/SuperStar.gd" id="2_2y0ea"]
[ext_resource type="AudioStream" uid="uid://73b2bhjg5idd" path="res://Assets/Audio/BGM/StarMan.mp3" id="3_fs4uy"]
[ext_resource type="Texture2D" uid="uid://1o654l3577lv" path="res://Assets/Sprites/Items/SuperStar.png" id="4_2tflf"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="5_a44we"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/StarMan.json" id="6_6b3t1"]
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="7_r72oo"]
[sub_resource type="AudioStreamInteractive" id="AudioStreamInteractive_og7mc"]
clip_count = 1
clip_0/name = &"Star Man"
clip_0/stream = ExtResource("3_fs4uy")
clip_0/auto_advance = 0
[sub_resource type="AtlasTexture" id="AtlasTexture_ptmgm"]
atlas = ExtResource("4_2tflf")
region = Rect2(0, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_aowox"]
atlas = ExtResource("4_2tflf")
region = Rect2(16, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_53gld"]
atlas = ExtResource("4_2tflf")
region = Rect2(32, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_orqf5"]
atlas = ExtResource("4_2tflf")
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)
[sub_resource type="PackedScene" id="PackedScene_3tsvi"]
_bundled = {
"conn_count": 1,
"conns": PackedInt32Array(1073741831, 1073741830, 39, 38, 2, 0, 0),
"editable_instances": [],
"names": PackedStringArray("SuperStar", "CharacterBody2D", "z_index", "collision_layer", "collision_mask", "script", "star_bgm", "metadata/_custom_type_script", "Sprite", "AnimatedSprite2D", "position", "sprite_frames", "autoplay", "frame_progress", "ResourceSetterNew", "Node", "script", "node_to_affect", "property_name", "resource_json", "metadata/_custom_type_script", "Collision", "CollisionShape2D", "position", "shape", "Hitbox", "Area2D", "CollisionShape2D", "CollisionShape2D", "position", "shape", "BasicEnemyMovement", "Node", "script", "ledge_detection_cast", "move_speed", "bounce_on_land", "bounce_height", "on_area_entered", "area_entered"),
"node_count": 7,
"node_paths": [NodePath("."), NodePath("./Sprite"), NodePath("."), NodePath("."), NodePath("./Hitbox"), NodePath("."), NodePath("."), NodePath("Hitbox")],
"nodes": PackedInt32Array(-1, -1, 1, 0, -1, 6, 2, 0, 3, 1, 4, 2, 5, 3, 6, 4, 7, 5, 0, 1073741824, 0, 9, 8, -1, 4, 10, 6, 11, 7, 12, 8, 13, 9, 0, 1073741825, 0, 15, 14, -1, 5, 16, 10, 1073741841, 11, 18, 12, 19, 13, 20, 14, 0, 1073741826, 0, 22, 21, -1, 2, 23, 15, 24, 16, 0, 1073741827, 0, 26, 25, -1, 0, 0, 1073741828, 0, 28, 27, -1, 2, 29, 17, 30, 18, 0, 1073741829, 0, 32, 31, -1, 5, 33, 19, 1073741858, 20, 35, 21, 36, 22, 37, 23, 0),
"variants": [-1, 8, 2, ExtResource("2_2y0ea"), SubResource("AudioStreamInteractive_og7mc"), "uid://cjkurwybsaywm", Vector2(0, -8), SubResource("SpriteFrames_og7mc"), "default", 0.792139, ExtResource("5_a44we"), NodePath(".."), "sprite_frames", ExtResource("6_6b3t1"), "uid://cbal8ms2oe1ik", Vector2(0, -4), SubResource("RectangleShape2D_sc6oi"), Vector2(0, -8), SubResource("RectangleShape2D_yyobd"), ExtResource("7_r72oo"), NodePath(""), 70, true, -250],
"version": 3
}
[node name="QuestionBlock" instance=ExtResource("1_t6w6o")]
item = SubResource("PackedScene_3tsvi")
mushroom_if_small = false
[node name="Sprite2D" parent="ItemPreview" index="0"]
region_rect = Rect2(16, 32, 16, 16)
[editable path="BlockAnimations"]

View File

@@ -0,0 +1,180 @@
[gd_scene load_steps=27 format=3 uid="uid://dmxufw748fe32"]
[ext_resource type="Script" uid="uid://bpydbpyjk1mt4" path="res://Scripts/Classes/Entities/Enemy.gd" id="1_gcnju"]
[ext_resource type="Texture2D" uid="uid://do13c2crob4td" path="res://Assets/Sprites/Blocks/SpikeBlock.png" id="2_dftxp"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_4g6tc"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/SpikeBlock.json" id="4_dftxp"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_w3ysb"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="6_l3otb"]
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="7_4g6tc"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="7_bcd7j"]
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="8_w3ysb"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="10_xfdnj"]
[sub_resource type="AtlasTexture" id="AtlasTexture_v0way"]
atlas = ExtResource("2_dftxp")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_l3otb"]
atlas = ExtResource("2_dftxp")
region = Rect2(16, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_bcd7j"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_v0way")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l3otb")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cgdwi"]
size = Vector2(16, 16)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r7ue2"]
size = Vector2(16.5, 16.6)
[sub_resource type="AtlasTexture" id="AtlasTexture_fgcqp"]
atlas = ExtResource("2_dftxp")
region = Rect2(0, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_kxpbe"]
atlas = ExtResource("2_dftxp")
region = Rect2(16, 32, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_aqm7k"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_fgcqp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kxpbe")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="AtlasTexture" id="AtlasTexture_13gtq"]
atlas = ExtResource("2_dftxp")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_wxl8r"]
atlas = ExtResource("2_dftxp")
region = Rect2(16, 16, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_31p57"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_13gtq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wxl8r")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="SpriteFrames" id="SpriteFrames_f51es"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_v0way")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l3otb")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="AtlasTexture" id="AtlasTexture_jnbok"]
atlas = ExtResource("2_dftxp")
region = Rect2(0, 48, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_jtvf6"]
atlas = ExtResource("2_dftxp")
region = Rect2(16, 48, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_f65v7"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_jnbok")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jtvf6")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="Resource" id="Resource_ji0bc"]
script = ExtResource("8_w3ysb")
Overworld = SubResource("SpriteFrames_f51es")
Underground = SubResource("SpriteFrames_31p57")
Snow = SubResource("SpriteFrames_f65v7")
GhostHouse = SubResource("SpriteFrames_31p57")
Castle = SubResource("SpriteFrames_aqm7k")
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
[node name="SpikeBlock" type="CharacterBody2D" groups=["Enemies"]]
disable_mode = 1
collision_layer = 2
collision_mask = 2
script = ExtResource("1_gcnju")
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_bcd7j")
autoplay = "default"
frame_progress = 0.177236
script = ExtResource("3_4g6tc")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("4_w3ysb")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_dftxp")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_cgdwi")
[node name="PlayerDetection" type="Area2D" parent="."]
script = ExtResource("6_l3otb")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
shape = SubResource("RectangleShape2D_r7ue2")
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
[node name="ScoreNoteSpawner" type="Node" parent="."]
script = ExtResource("7_bcd7j")
metadata/_custom_type_script = "uid://5octqlf4ohel"
[node name="ThemedToJSONConverter" type="Node" parent="."]
script = ExtResource("7_4g6tc")
resource = SubResource("Resource_ji0bc")
json_file_path = "res://Assets/Sprites/Blocks/SpikeBlock.json"
metadata/_custom_type_script = "uid://cqif1li7otvpl"
[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("10_xfdnj")
offset = Vector2(0, 0)
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[connection signal="player_entered" from="PlayerDetection" to="." method="damage_player"]

View File

@@ -0,0 +1,77 @@
[gd_scene load_steps=12 format=3 uid="uid://b8dalotrk2oci"]
[ext_resource type="Texture2D" uid="uid://btt618edhifoj" path="res://Assets/Sprites/Blocks/TurnBlock.png" id="1_fh7wk"]
[ext_resource type="Script" uid="uid://7evxxqgv6e3j" path="res://Scripts/Classes/Blocks/SpinningTurnBlock.gd" id="2_aiilm"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_aiilm"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_pd7sm"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/TurnBlock.json" id="5_gaxhp"]
[sub_resource type="AtlasTexture" id="AtlasTexture_8yy4r"]
atlas = ExtResource("1_fh7wk")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_pm24u"]
atlas = ExtResource("1_fh7wk")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_keywi"]
atlas = ExtResource("1_fh7wk")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_2j2lx"]
atlas = ExtResource("1_fh7wk")
region = Rect2(48, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_rksv1"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_8yy4r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pm24u")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_keywi")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2j2lx")
}],
"loop": true,
"name": &"default",
"speed": 10.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fh7wk"]
size = Vector2(16, 16)
[node name="SpinningTurnBlock" type="Node2D"]
z_index = -1
script = ExtResource("2_aiilm")
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_rksv1")
autoplay = "default"
frame = 1
script = ExtResource("3_aiilm")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("4_pd7sm")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("5_gaxhp")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Timer" type="Timer" parent="."]
wait_time = 5.0
one_shot = true
autostart = true
[node name="PlayerDetectionArea" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetectionArea"]
shape = SubResource("RectangleShape2D_fh7wk")
[connection signal="timeout" from="Timer" to="." method="on_timeout"]

View File

@@ -0,0 +1,94 @@
[gd_scene load_steps=15 format=3 uid="uid://bx23j813jg0bl"]
[ext_resource type="Texture2D" uid="uid://dnjx65qkbf1aq" path="res://Assets/Sprites/Blocks/SpringBlock.png" id="1_5ga5m"]
[ext_resource type="Script" uid="uid://cdlufmypvdtun" path="res://Scripts/Classes/Blocks/SpringBlock.gd" id="1_omsgc"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_wexil"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_wexil"]
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="4_a8j4k"]
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="5_3xejn"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="7_3xejn"]
[sub_resource type="AtlasTexture" id="AtlasTexture_omsgc"]
atlas = ExtResource("1_5ga5m")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_3aauc"]
atlas = ExtResource("1_5ga5m")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_a8j4k"]
atlas = ExtResource("1_5ga5m")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_3xejn"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_omsgc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3aauc")
}],
"loop": false,
"name": &"Bounce",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_a8j4k")
}],
"loop": true,
"name": &"Idle",
"speed": 5.0
}]
[sub_resource type="Resource" id="Resource_e7kaa"]
script = ExtResource("5_3xejn")
Overworld = SubResource("SpriteFrames_3xejn")
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
[sub_resource type="RectangleShape2D" id="RectangleShape2D_e7kaa"]
size = Vector2(16, 8)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_omsgc"]
size = Vector2(14, 8)
[node name="SpringBlock" type="AnimatableBody2D"]
collision_layer = 6
sync_to_physics = false
script = ExtResource("1_omsgc")
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_3xejn")
animation = &"Bounce"
autoplay = "Idle"
script = ExtResource("2_wexil")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetter" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("4_a8j4k")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
themed_resource = SubResource("Resource_e7kaa")
metadata/_custom_type_script = "uid://cq6f682453q6o"
[node name="Collision" type="CollisionShape2D" parent="."]
position = Vector2(0, 4)
shape = SubResource("RectangleShape2D_e7kaa")
[node name="PlayerDetection" type="Area2D" parent="."]
position = Vector2(0, -4)
script = ExtResource("3_wexil")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
shape = SubResource("RectangleShape2D_omsgc")
[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("7_3xejn")
offset = Vector2(0, 0)
disable_physics = false
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[connection signal="player_entered" from="PlayerDetection" to="." method="on_player_entered"]

View File

@@ -0,0 +1,55 @@
[gd_scene load_steps=9 format=3 uid="uid://b4al7s87fo1nd"]
[ext_resource type="PackedScene" uid="uid://bx23j813jg0bl" path="res://Scenes/Prefabs/Blocks/SpringBlock.tscn" id="1_uhtsl"]
[ext_resource type="Texture2D" uid="uid://bd25s0rlv8axh" path="res://Assets/Sprites/Blocks/SuperSpringBlock.png" id="2_wkxon"]
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="3_0fxaq"]
[sub_resource type="AtlasTexture" id="AtlasTexture_06t86"]
atlas = ExtResource("2_wkxon")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_kxegq"]
atlas = ExtResource("2_wkxon")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_1h38u"]
atlas = ExtResource("2_wkxon")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_nqm1f"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_06t86")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kxegq")
}],
"loop": false,
"name": &"Bounce",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_1h38u")
}],
"loop": true,
"name": &"Idle",
"speed": 5.0
}]
[sub_resource type="Resource" id="Resource_it1ds"]
script = ExtResource("3_0fxaq")
Overworld = SubResource("SpriteFrames_nqm1f")
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
[node name="SpringBlock" instance=ExtResource("1_uhtsl")]
is_super = true
[node name="Sprite" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_nqm1f")
frame = 1
frame_progress = 1.0
[node name="ResourceSetter" parent="Sprite" index="0"]
themed_resource = SubResource("Resource_it1ds")

View File

@@ -0,0 +1,126 @@
[gd_scene load_steps=17 format=3 uid="uid://d2ainv86lt68a"]
[ext_resource type="PackedScene" uid="uid://by6ndsjhlkmbt" path="res://Scenes/Prefabs/Blocks/BooRaceBlocks/BooOnOffBlock.tscn" id="1_qn0kk"]
[ext_resource type="Texture2D" uid="uid://cv27sth0k3amk" path="res://Assets/Sprites/Blocks/SwitchSpike.png" id="2_kmalu"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/SwitchSpikeBlock.json" id="3_gfl4j"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_kmalu"]
[sub_resource type="AtlasTexture" id="AtlasTexture_m1hcn"]
atlas = ExtResource("2_kmalu")
region = Rect2(80, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_prw4m"]
atlas = ExtResource("2_kmalu")
region = Rect2(96, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ieqkm"]
atlas = ExtResource("2_kmalu")
region = Rect2(112, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_y0v5j"]
atlas = ExtResource("2_kmalu")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_boqyf"]
atlas = ExtResource("2_kmalu")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_m8vhp"]
atlas = ExtResource("2_kmalu")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_yyfct"]
atlas = ExtResource("2_kmalu")
region = Rect2(48, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_tnmt2"]
atlas = ExtResource("2_kmalu")
region = Rect2(64, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_gfl4j"]
atlas = ExtResource("2_kmalu")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_cjipk"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_m1hcn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_prw4m")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ieqkm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_y0v5j")
}],
"loop": false,
"name": &"Off",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_boqyf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_m8vhp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yyfct")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tnmt2")
}],
"loop": false,
"name": &"On",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_gfl4j")
}],
"loop": true,
"name": &"Rest",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_gfl4j"]
size = Vector2(17, 18)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fe1rr"]
size = Vector2(16, 16)
[node name="SwitchSpikeBlock" node_paths=PackedStringArray("hurtbox") instance=ExtResource("1_qn0kk")]
hurtbox = NodePath("PlayerHurtBox/CollisionShape2D")
[node name="Sprite" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_cjipk")
animation = &"Rest"
autoplay = "Rest"
[node name="ResourceSetter" parent="Sprite" index="0"]
resource_json = ExtResource("3_gfl4j")
[node name="Collision" parent="." index="1"]
visible = true
[node name="PlayerHurtBox" type="Area2D" parent="." index="3"]
script = ExtResource("3_kmalu")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerHurtBox" index="0"]
shape = SubResource("RectangleShape2D_gfl4j")
disabled = true
[node name="StaticBody2D" type="StaticBody2D" parent="." index="4"]
[node name="StaticBody2D2" type="StaticBody2D" parent="." index="5"]
collision_layer = 6
collision_mask = 0
[node name="Collision" type="CollisionShape2D" parent="StaticBody2D2" index="0"]
shape = SubResource("RectangleShape2D_fe1rr")
[connection signal="player_entered" from="PlayerHurtBox" to="." method="damage_player"]

View File

@@ -0,0 +1,98 @@
[gd_scene load_steps=14 format=3 uid="uid://0q874wkbxcrr"]
[ext_resource type="PackedScene" uid="uid://d2ainv86lt68a" path="res://Scenes/Prefabs/Blocks/SwitchSpikeBlock.tscn" id="1_nuql5"]
[ext_resource type="Texture2D" uid="uid://cv27sth0k3amk" path="res://Assets/Sprites/Blocks/SwitchSpike.png" id="2_s2uey"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/SwitchSpikeBlockAlt.json" id="3_s2uey"]
[sub_resource type="AtlasTexture" id="AtlasTexture_k8y7p"]
atlas = ExtResource("2_s2uey")
region = Rect2(80, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_yyfhm"]
atlas = ExtResource("2_s2uey")
region = Rect2(96, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_jo8o0"]
atlas = ExtResource("2_s2uey")
region = Rect2(112, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_kbjhk"]
atlas = ExtResource("2_s2uey")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_aevfu"]
atlas = ExtResource("2_s2uey")
region = Rect2(16, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_8cf4e"]
atlas = ExtResource("2_s2uey")
region = Rect2(32, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_e6uvi"]
atlas = ExtResource("2_s2uey")
region = Rect2(48, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_2f4s2"]
atlas = ExtResource("2_s2uey")
region = Rect2(64, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_8lvdt"]
atlas = ExtResource("2_s2uey")
region = Rect2(64, 16, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_twrdj"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_k8y7p")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yyfhm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jo8o0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kbjhk")
}],
"loop": false,
"name": &"Off",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_aevfu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8cf4e")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_e6uvi")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2f4s2")
}],
"loop": false,
"name": &"On",
"speed": 15.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_8lvdt")
}],
"loop": true,
"name": &"Rest",
"speed": 5.0
}]
[node name="SwitchSpikeBlock" instance=ExtResource("1_nuql5")]
active = true
[node name="Sprite" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_twrdj")
[node name="ResourceSetter" parent="Sprite" index="0"]
resource_json = ExtResource("3_s2uey")
[node name="CollisionShape2D" parent="PlayerHurtBox" index="0"]
disabled = false

View File

@@ -0,0 +1,97 @@
[gd_scene load_steps=15 format=3 uid="uid://cpsdyhprded5d"]
[ext_resource type="Script" uid="uid://cn8jml0dmf128" path="res://Scripts/Classes/Blocks/FallThroughBlock.gd" id="1_k7nc4"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_aqge3"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_mdw74"]
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="4_6pcvn"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/TrickBlock.json" id="4_aqge3"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_hyhae"]
[sub_resource type="AtlasTexture" id="AtlasTexture_2ob4o"]
atlas = SubResource("CompressedTexture2D_hyhae")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_byvq0"]
atlas = SubResource("CompressedTexture2D_hyhae")
region = Rect2(48, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_w5se2"]
atlas = SubResource("CompressedTexture2D_hyhae")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_6idsv"]
atlas = SubResource("CompressedTexture2D_hyhae")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_1v6hd"]
atlas = SubResource("CompressedTexture2D_hyhae")
region = Rect2(0, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_7od47"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_2ob4o")
}],
"loop": true,
"name": &"Idle",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_byvq0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w5se2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6idsv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1v6hd")
}],
"loop": true,
"name": &"Turn",
"speed": 15.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_tjbwr"]
size = Vector2(16, 16)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_e7ak7"]
size = Vector2(16, 16)
[node name="TrickBlock" type="StaticBody2D"]
collision_layer = 6
collision_mask = 0
script = ExtResource("1_k7nc4")
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_7od47")
animation = &"Turn"
autoplay = "Idle"
script = ExtResource("3_aqge3")
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_mdw74")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_aqge3")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_tjbwr")
[node name="PlayerDetection" type="Area2D" parent="."]
script = ExtResource("4_6pcvn")
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
[node name="Collision" type="CollisionShape2D" parent="PlayerDetection"]
position = Vector2(0, -2)
shape = SubResource("RectangleShape2D_e7ak7")
[connection signal="player_entered" from="PlayerDetection" to="." method="on_player_entered"]
[connection signal="player_exited" from="PlayerDetection" to="." method="on_player_exited"]

View File

@@ -0,0 +1,92 @@
[gd_scene load_steps=15 format=3 uid="uid://bn651dli8j2rj"]
[ext_resource type="Script" uid="uid://dm44kedpj4m80" path="res://Scripts/Classes/Blocks/TurnBlock.gd" id="1_keywi"]
[ext_resource type="Texture2D" uid="uid://btt618edhifoj" path="res://Assets/Sprites/Blocks/TurnBlock.png" id="2_2j2lx"]
[ext_resource type="PackedScene" uid="uid://fqeqexyd7j0j" path="res://Scenes/Prefabs/Particles/TurnBlockDestructionParticles.tscn" id="2_rlxbk"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_wx1p4"]
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/TurnBlock.json" id="4_keywi"]
[ext_resource type="PackedScene" uid="uid://cijkvfkthetn5" path="res://Scenes/Parts/BlockAnimations.tscn" id="5_xbwt3"]
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="6_2qcru"]
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="7_2j2lx"]
[sub_resource type="AtlasTexture" id="AtlasTexture_8yy4r"]
atlas = ExtResource("2_2j2lx")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_pm24u"]
atlas = ExtResource("2_2j2lx")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_keywi"]
atlas = ExtResource("2_2j2lx")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_2j2lx"]
atlas = ExtResource("2_2j2lx")
region = Rect2(48, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_rlxbk"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_8yy4r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pm24u")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_keywi")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2j2lx")
}],
"loop": true,
"name": &"default",
"speed": 10.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_b3g5f"]
size = Vector2(16, 16)
[node name="TurnBlock" type="AnimatableBody2D" node_paths=PackedStringArray("visuals") groups=["Blocks"]]
z_index = -1
collision_layer = 6
collision_mask = 0
script = ExtResource("1_keywi")
visuals = NodePath("Sprite")
destruction_particle_scene = ExtResource("2_rlxbk")
metadata/_custom_type_script = "uid://b5ejlbl0vp1gm"
[node name="Sprite" type="AnimatedSprite2D" parent="."]
sprite_frames = SubResource("SpriteFrames_rlxbk")
speed_scale = 0.0
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_wx1p4")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_keywi")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
visible = false
shape = SubResource("RectangleShape2D_b3g5f")
[node name="BlockAnimations" parent="." instance=ExtResource("5_xbwt3")]
[node name="EditorPropertyExposer" type="Node" parent="."]
script = ExtResource("6_2qcru")
properties = Array[String](["item", "item_amount", "mushroom_if_small"])
filters = Dictionary[String, String]({
"item": "can_be_stored"
})
[node name="TrackJoint" type="Node" parent="."]
script = ExtResource("7_2j2lx")
offset = Vector2(0, 0)
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
[connection signal="player_block_hit" from="." to="." method="on_block_hit"]
[connection signal="player_block_hit" from="." to="BlockAnimations" method="bounce_block" unbinds=1]
[connection signal="shell_block_hit" from="." to="." method="on_shell_block_hit"]
[connection signal="shell_block_hit" from="." to="BlockAnimations" method="bounce_block" unbinds=1]