mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 15:38:14 +00:00
added the game
This commit is contained in:
262
Scenes/Prefabs/Entities/Objects/BobOmbHeld.tscn
Normal file
262
Scenes/Prefabs/Entities/Objects/BobOmbHeld.tscn
Normal file
@@ -0,0 +1,262 @@
|
||||
[gd_scene load_steps=28 format=3 uid="uid://d075e1520ngrv"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c7g10h3o7nevn" path="res://Assets/Sprites/Enemies/BobOmb.png" id="1_etkhh"]
|
||||
[ext_resource type="Script" uid="uid://baie518kyfenr" path="res://Scripts/Classes/Entities/Objects/BobOmbHeld.gd" id="1_j3rs3"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_dd5rd"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="3_5qjsg"]
|
||||
[ext_resource type="Script" uid="uid://bx6r8sjar6cwr" path="res://Scripts/Classes/Components/BasicStaticMovement.gd" id="4_70th7"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_hgi3d"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/BobOmb.json" id="5_pn2vf"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="5_t0tau"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="6_j3rs3"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/LitBobOmb.json" id="6_pn2vf"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="7_yf454"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="9_yf454"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="13_tv0mo"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vjas1"]
|
||||
atlas = ExtResource("1_etkhh")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_v5mno"]
|
||||
atlas = ExtResource("1_etkhh")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rol8r"]
|
||||
atlas = ExtResource("1_etkhh")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6tynh"]
|
||||
atlas = ExtResource("1_etkhh")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xehcv"]
|
||||
atlas = ExtResource("1_etkhh")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_5qjsg"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vjas1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_v5mno")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Flash",
|
||||
"speed": 10.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rol8r")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Hit",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6tynh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xehcv")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Walk",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_hgi3d"]
|
||||
resource_name = "Flash"
|
||||
length = 0.2
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("FlashSprite:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_pn2vf"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("FlashSprite:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_tv0mo"]
|
||||
_data = {
|
||||
&"Flash": SubResource("Animation_hgi3d"),
|
||||
&"RESET": SubResource("Animation_pn2vf")
|
||||
}
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_70th7"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_hagok"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_j3rs3"]
|
||||
resource_name = "Explode"
|
||||
length = 0.2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ScaleJoint:scale")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1), Vector2(1.25, 1.25)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_yf454"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ScaleJoint:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ll0jm"]
|
||||
_data = {
|
||||
&"Explode": SubResource("Animation_j3rs3"),
|
||||
&"RESET": SubResource("Animation_yf454")
|
||||
}
|
||||
|
||||
[node name="BobOmbHeld" type="CharacterBody2D"]
|
||||
collision_layer = 32
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_j3rs3")
|
||||
|
||||
[node name="ScaleJoint" type="Node2D" parent="."]
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="ScaleJoint"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_5qjsg")
|
||||
animation = &"Hit"
|
||||
offset = Vector2(-1, 1)
|
||||
flip_h = true
|
||||
script = ExtResource("2_dd5rd")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="ScaleJoint/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_hgi3d")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_pn2vf")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="FlashAnimation" type="AnimationPlayer" parent="ScaleJoint/Sprite"]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_tv0mo")
|
||||
}
|
||||
|
||||
[node name="FlashSprite" type="AnimatedSprite2D" parent="ScaleJoint/Sprite"]
|
||||
visible = false
|
||||
position = Vector2(-2, 0)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_5qjsg")
|
||||
animation = &"Hit"
|
||||
offset = Vector2(-1, 1)
|
||||
script = ExtResource("2_dd5rd")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="ScaleJoint/Sprite/FlashSprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_hgi3d")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("6_pn2vf")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("RectangleShape2D_70th7")
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_mask = 5
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -6)
|
||||
shape = SubResource("RectangleShape2D_hagok")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("3_5qjsg")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="Movement" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_70th7")
|
||||
visuals = NodePath("../ScaleJoint/Sprite")
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_t0tau")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("6_j3rs3")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_yf454")
|
||||
detection_type = 1
|
||||
hitbox = NodePath("../Hitbox")
|
||||
can_change_direction = true
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ll0jm")
|
||||
}
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("9_yf454")
|
||||
visuals = NodePath("../ScaleJoint/Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("13_tv0mo")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://ba18grqjixded"
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="kick"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="kick"]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="." method="kick"]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="kick"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="explode" unbinds=1]
|
110
Scenes/Prefabs/Entities/Objects/Bumper.tscn
Normal file
110
Scenes/Prefabs/Entities/Objects/Bumper.tscn
Normal file
@@ -0,0 +1,110 @@
|
||||
[gd_scene load_steps=15 format=3 uid="uid://bh0c141mlkiff"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dleohmr2yvsea" path="res://Assets/Sprites/Blocks/Bumper.png" id="1_7osxe"]
|
||||
[ext_resource type="Script" uid="uid://biu4x75tbkfk3" path="res://Scripts/Classes/Entities/Objects/Bumper.gd" id="1_yguea"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_yguea"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_cgc3p"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_cgc3p"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/Bumper.json" id="5_ix70v"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="7_tbo6k"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ix70v"]
|
||||
atlas = ExtResource("1_7osxe")
|
||||
region = Rect2(0, 0, 48, 48)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_tbo6k"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ix70v")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_tbo6k"]
|
||||
radius = 24.0
|
||||
|
||||
[sub_resource type="Animation" id="Animation_7osxe"]
|
||||
resource_name = "Bounce"
|
||||
length = 0.2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:scale")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.033333335, 0.1, 0.16666667),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1), Vector2(0.8, 0.8), Vector2(1.2, 1.2), Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_yguea"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_cgc3p"]
|
||||
_data = {
|
||||
&"Bounce": SubResource("Animation_7osxe"),
|
||||
&"RESET": SubResource("Animation_yguea")
|
||||
}
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_tbo6k"]
|
||||
|
||||
[node name="Bumper" type="AnimatableBody2D"]
|
||||
sync_to_physics = false
|
||||
script = ExtResource("1_yguea")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_tbo6k")
|
||||
animation = &"Idle"
|
||||
autoplay = "Idle"
|
||||
script = ExtResource("2_yguea")
|
||||
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_cgc3p")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_ix70v")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_layer = 255
|
||||
script = ExtResource("3_cgc3p")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
shape = SubResource("CircleShape2D_tbo6k")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_cgc3p")
|
||||
}
|
||||
autoplay = "RESET"
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="."]
|
||||
script = ExtResource("7_tbo6k")
|
||||
offset = Vector2(0, 0)
|
||||
disable_physics = false
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_tbo6k")
|
||||
|
||||
[connection signal="player_entered" from="Hitbox" to="." method="bounce_player"]
|
245
Scenes/Prefabs/Entities/Objects/Burner.tscn
Normal file
245
Scenes/Prefabs/Entities/Objects/Burner.tscn
Normal file
@@ -0,0 +1,245 @@
|
||||
[gd_scene load_steps=33 format=3 uid="uid://cbs645wiwmaxq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://clareynx710qb" path="res://Scripts/Classes/Entities/Objects/Burner.gd" id="1_4fveq"]
|
||||
[ext_resource type="Texture2D" uid="uid://dhk5jdqjqo77p" path="res://Assets/Sprites/Blocks/BurnerFlame.png" id="1_vrk50"]
|
||||
[ext_resource type="Texture2D" uid="uid://4l2medldwrwh" path="res://Assets/Sprites/Blocks/Burner.png" id="2_4fveq"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_fsldu"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_sqxap"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/BurnerFlame.json" id="4_m4qew"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="5_sqxap"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/BurnerBlock.json" id="5_w52fl"]
|
||||
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="7_w52fl"]
|
||||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="8_oeevx"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="10_oeevx"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_amjrr"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_od61c"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(80, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fsldu"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(64, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w52fl"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(48, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_oeevx"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(32, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_m4qew"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(16, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_je1ke"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(0, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_liwv0"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(0, 0, 1, 1)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_t81wb"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(64, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1yyyj"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(80, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_drojf"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(0, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_pdqi0"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(16, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ywbh4"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(32, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_p2mql"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(48, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_seql0"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(64, 0, 16, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5ex0w"]
|
||||
atlas = ExtResource("1_vrk50")
|
||||
region = Rect2(80, 0, 16, 48)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_8axu6"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_od61c")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fsldu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w52fl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_oeevx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_m4qew")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_je1ke")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_liwv0")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Fall",
|
||||
"speed": 10.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_t81wb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1yyyj")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Loop",
|
||||
"speed": 15.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_drojf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_pdqi0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ywbh4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_p2mql")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_seql0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5ex0w")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Rise",
|
||||
"speed": 15.0
|
||||
}]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5jhml"]
|
||||
atlas = ExtResource("2_4fveq")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_jssei"]
|
||||
size = Vector2(8, 32)
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_4fveq"]
|
||||
script/source = "extends Node
|
||||
|
||||
@export var sprite: Node2D = 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_v = owner.direction == 1 or owner.direction == 2
|
||||
"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_m4qew"]
|
||||
script = ExtResource("8_oeevx")
|
||||
Overworld = SubResource("SpriteFrames_8axu6")
|
||||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||||
|
||||
[node name="Burner" type="AnimatableBody2D"]
|
||||
collision_layer = 6
|
||||
collision_mask = 0
|
||||
sync_to_physics = false
|
||||
script = ExtResource("1_4fveq")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_amjrr")
|
||||
|
||||
[node name="RotationJoint" type="Node2D" parent="."]
|
||||
physics_interpolation_mode = 2
|
||||
|
||||
[node name="Flame" type="AnimatedSprite2D" parent="RotationJoint"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
position = Vector2(0, -32)
|
||||
sprite_frames = SubResource("SpriteFrames_8axu6")
|
||||
animation = &"Rise"
|
||||
frame = 5
|
||||
frame_progress = 1.0
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="RotationJoint/Flame" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_fsldu")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_m4qew")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
remote_path = NodePath("../Block")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="Block" type="Sprite2D" parent="RotationJoint"]
|
||||
texture = SubResource("AtlasTexture_5jhml")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="RotationJoint/Block" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_fsldu")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("5_w52fl")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="PlayerDetection" type="Area2D" parent="RotationJoint"]
|
||||
script = ExtResource("3_sqxap")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="Hitbox" type="CollisionShape2D" parent="RotationJoint/PlayerDetection"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(0, -32)
|
||||
shape = SubResource("RectangleShape2D_jssei")
|
||||
disabled = true
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 3.0
|
||||
one_shot = true
|
||||
|
||||
[node name="Node" type="Node" parent="." node_paths=PackedStringArray("sprite")]
|
||||
process_mode = 3
|
||||
script = SubResource("GDScript_4fveq")
|
||||
sprite = NodePath("../RotationJoint/Block")
|
||||
|
||||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("5_sqxap")
|
||||
properties = Array[String](["direction"])
|
||||
metadata/_custom_type_script = "uid://ctfbuoxtnnl0q"
|
||||
|
||||
[node name="ThemedToJSONConverter" type="Node" parent="."]
|
||||
script = ExtResource("7_w52fl")
|
||||
resource = SubResource("Resource_m4qew")
|
||||
json_file_path = "res://Assets/Sprites/Blocks/BurnerFlame.json"
|
||||
metadata/_custom_type_script = "uid://cqif1li7otvpl"
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="."]
|
||||
script = ExtResource("10_oeevx")
|
||||
offset = Vector2(0, 0)
|
||||
disable_physics = false
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[connection signal="player_entered" from="RotationJoint/PlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="timeout" from="Timer" to="." method="do_cycle"]
|
99
Scenes/Prefabs/Entities/Objects/BuzzyBeetleShell.tscn
Normal file
99
Scenes/Prefabs/Entities/Objects/BuzzyBeetleShell.tscn
Normal file
@@ -0,0 +1,99 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://csdbt4vd14fsg"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b0mk8rdwt73w0" path="res://Scripts/Classes/Entities/ShellClass.gd" id="1_67hvo"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_67hvo"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_gsbuf"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/BuzzyBeetleShell.json" id="4_7m7wg"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="5_i84ew"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="6_ih7eq"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="7_btb0t"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="8_ck65x"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="9_8ro46"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="10_mt4yi"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_hddfq"]
|
||||
size = Vector2(16, 12)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_67hvo"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[node name="BuzzyBeetleShell" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 32
|
||||
collision_mask = 6
|
||||
script = ExtResource("1_67hvo")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
offset = Vector2(0, 1)
|
||||
script = ExtResource("2_67hvo")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_gsbuf")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_7m7wg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_mask = 5
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -6)
|
||||
shape = SubResource("RectangleShape2D_hddfq")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_i84ew")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("6_ih7eq")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("7_btb0t")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("8_ck65x")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("9_8ro46")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
play_sfx_on_hit = true
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("10_mt4yi")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="LCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -6)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("RectangleShape2D_67hvo")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="RCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -6)
|
||||
rotation = -1.5708
|
||||
shape = SubResource("RectangleShape2D_67hvo")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="on_player_hit"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="on_player_stomped_on"]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="block_bounced"]
|
92
Scenes/Prefabs/Entities/Objects/Cannon.tscn
Normal file
92
Scenes/Prefabs/Entities/Objects/Cannon.tscn
Normal file
@@ -0,0 +1,92 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://fvhrbog40cpp"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bxfr63s2j3ts7" path="res://Scripts/Classes/Entities/Objects/Cannon.gd" id="1_g2yj6"]
|
||||
[ext_resource type="Texture2D" uid="uid://x45kf055ej53" path="res://Assets/Sprites/Blocks/Cannon.png" id="2_yrqqx"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="3_yrqqx"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_ywjuo"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/Cannon.json" id="4_1iyc0"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wj2h5"]
|
||||
atlas = ExtResource("2_yrqqx")
|
||||
region = Rect2(0, 0, 48, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ywjuo"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_ywjuo"]
|
||||
script/source = "extends Node
|
||||
@onready var head: Sprite2D = $\"../Head\"
|
||||
@onready var mount: Sprite2D = $\"../Mount\"
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
mount.global_rotation_degrees = owner.stand_angle * 90
|
||||
head.frame = int(int(owner.head_angle * 45) % 90 != 0)
|
||||
head.global_rotation_degrees = owner.head_angle * 45
|
||||
if head.frame == 1:
|
||||
head.global_rotation_degrees -= 45
|
||||
"
|
||||
|
||||
[node name="Cannon" type="Node2D"]
|
||||
script = ExtResource("1_g2yj6")
|
||||
|
||||
[node name="Head" type="Sprite2D" parent="."]
|
||||
physics_interpolation_mode = 2
|
||||
texture = SubResource("AtlasTexture_wj2h5")
|
||||
hframes = 2
|
||||
frame = 1
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 32, 16)
|
||||
region_filter_clip_enabled = true
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Head" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_ywjuo")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_1iyc0")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Raycast" type="RayCast2D" parent="Head"]
|
||||
position = Vector2(0, -9)
|
||||
target_position = Vector2(0, -8)
|
||||
collision_mask = 6
|
||||
hit_from_inside = true
|
||||
|
||||
[node name="Mount" type="Sprite2D" parent="."]
|
||||
physics_interpolation_mode = 2
|
||||
texture = SubResource("AtlasTexture_wj2h5")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(32, 0, 16, 16)
|
||||
region_filter_clip_enabled = true
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Mount" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_ywjuo")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_1iyc0")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="."]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
|
||||
shape = SubResource("RectangleShape2D_ywjuo")
|
||||
|
||||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("3_yrqqx")
|
||||
properties = Array[String](["item", "head_angle", "stand_angle"])
|
||||
filters = Dictionary[String, String]({
|
||||
"item": "cannon_ammo"
|
||||
})
|
||||
metadata/_custom_type_script = "uid://ctfbuoxtnnl0q"
|
||||
|
||||
[node name="Node" type="Node" parent="."]
|
||||
process_mode = 3
|
||||
script = SubResource("GDScript_ywjuo")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 3.0
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="shoot"]
|
59
Scenes/Prefabs/Entities/Objects/CannonBall.tscn
Normal file
59
Scenes/Prefabs/Entities/Objects/CannonBall.tscn
Normal file
@@ -0,0 +1,59 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://bumvqjhs2xxka"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bfdtqldkrv4dn" path="res://Scripts/Classes/Entities/Enemies/CannonBall.gd" id="1_yim3j"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="2_il73j"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_yim3j"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/CannonBall.json" id="3_874xq"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="3_pydrn"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="4_yim3j"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="5_il73j"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_yim3j"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[node name="CannonBall" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder")]
|
||||
z_index = -1
|
||||
script = ExtResource("1_yim3j")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("2_yim3j")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("3_874xq")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="PlayerDetection" type="Area2D" parent="."]
|
||||
script = ExtResource("2_il73j")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
|
||||
shape = SubResource("RectangleShape2D_yim3j")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("3_pydrn")
|
||||
hitbox = NodePath("../PlayerDetection")
|
||||
height = 0
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_yim3j")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("5_il73j")
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"]
|
||||
[connection signal="gib_about_to_spawn" from="GibSpawner" to="Sprite" method="set_flip_v" binds= [true]]
|
||||
[connection signal="screen_exited" from="VisibleOnScreenEnabler2D" to="." method="queue_free"]
|
30
Scenes/Prefabs/Entities/Objects/CustomRaceBoo.tscn
Normal file
30
Scenes/Prefabs/Entities/Objects/CustomRaceBoo.tscn
Normal file
@@ -0,0 +1,30 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://ccgskwqm418q0"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bbrkol4k3yobq" path="res://Scenes/Prefabs/Entities/Enemies/RaceBoo.tscn" id="1_gu5ge"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="2_pcxou"]
|
||||
[ext_resource type="PackedScene" uid="uid://d1wjw5tobpb3w" path="res://Scenes/Prefabs/LevelObjects/BooRaceHandler.tscn" id="4_4ndcc"]
|
||||
[ext_resource type="PackedScene" uid="uid://dvmr3r2uub283" path="res://Scenes/Prefabs/Entities/Objects/TrackRider.tscn" id="5_4ndcc"]
|
||||
[ext_resource type="Script" uid="uid://b8vmbtoaaq5nc" path="res://Scripts/Parts/EditorToggleDetection.gd" id="6_vsr7w"]
|
||||
|
||||
[node name="CustomRaceBoo" type="Node2D"]
|
||||
|
||||
[node name="RaceBoo" parent="." instance=ExtResource("1_gu5ge")]
|
||||
force_colour = 0
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="RaceBoo"]
|
||||
script = ExtResource("2_pcxou")
|
||||
disable_physics = false
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[node name="TrackRider" parent="." node_paths=PackedStringArray("attached_entity") instance=ExtResource("5_4ndcc")]
|
||||
attached_entity = NodePath("../RaceBoo")
|
||||
|
||||
[node name="BooRaceHandler" parent="." node_paths=PackedStringArray("boo") instance=ExtResource("4_4ndcc")]
|
||||
boo = NodePath("../RaceBoo")
|
||||
is_custom = true
|
||||
|
||||
[node name="LevelEditorToggleDetection" type="Node" parent="BooRaceHandler"]
|
||||
script = ExtResource("6_vsr7w")
|
||||
metadata/_custom_type_script = "uid://b8vmbtoaaq5nc"
|
||||
|
||||
[connection signal="level_start" from="BooRaceHandler/LevelEditorToggleDetection" to="BooRaceHandler" method="do_countdown"]
|
219
Scenes/Prefabs/Entities/Objects/Door.tscn
Normal file
219
Scenes/Prefabs/Entities/Objects/Door.tscn
Normal file
@@ -0,0 +1,219 @@
|
||||
[gd_scene load_steps=20 format=3 uid="uid://u3t1k5j28yap"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cy8cncadvevvt" path="res://Scripts/Classes/Entities/Objects/Door.gd" id="1_8ee2c"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="1_625dr"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_8ee2c"]
|
||||
[ext_resource type="Texture2D" uid="uid://fyxbhdmqfxk5" path="res://Assets/Sprites/Tilesets/Doors.png" id="2_12ofo"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_12ofo"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Doors.json" id="4_jfxhu"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="5_8ee2c"]
|
||||
[ext_resource type="PackedScene" uid="uid://dse5pwhodrqcr" path="res://Scenes/Prefabs/Editor/EditorProperties/TilePropertyIntRangeSpin.tscn" id="6_12ofo"]
|
||||
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="7_jfxhu"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_penv4"]
|
||||
size = Vector2(13, 20)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kr4bu"]
|
||||
atlas = ExtResource("2_12ofo")
|
||||
region = Rect2(48, 0, 16, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_penv4"]
|
||||
atlas = ExtResource("2_12ofo")
|
||||
region = Rect2(32, 0, 16, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jfxhu"]
|
||||
atlas = ExtResource("2_12ofo")
|
||||
region = Rect2(16, 0, 16, 32)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_kr4bu"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kr4bu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_penv4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jfxhu")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Close",
|
||||
"speed": 15.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jfxhu")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jfxhu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_penv4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kr4bu")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Open",
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_jfxhu"]
|
||||
script/source = "extends Node
|
||||
|
||||
static var colour_ids := {}
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
$\"../LevelEditorVisibleNode/Label\".text = str(owner.door_id)
|
||||
"
|
||||
|
||||
[sub_resource type="Animation" id="Animation_hk64y"]
|
||||
resource_name = "Locked"
|
||||
length = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite:position")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.03333333, 0.06666666, 0.099999994),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0), Vector2(1, 0), Vector2(-1, 0), Vector2(0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_uba0u"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kr4bu"]
|
||||
resource_name = "Unlock"
|
||||
length = 0.2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:scale")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1.5, 1.5), Vector2(1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_hk64y"]
|
||||
_data = {
|
||||
&"Locked": SubResource("Animation_hk64y"),
|
||||
&"RESET": SubResource("Animation_uba0u"),
|
||||
&"Unlock": SubResource("Animation_kr4bu")
|
||||
}
|
||||
|
||||
[node name="Door" type="Node2D" groups=["Doors"]]
|
||||
z_index = -5
|
||||
script = ExtResource("1_8ee2c")
|
||||
|
||||
[node name="PlayerDetection" type="Area2D" parent="."]
|
||||
script = ExtResource("1_625dr")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
|
||||
position = Vector2(0, -10)
|
||||
shape = SubResource("RectangleShape2D_penv4")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_kr4bu")
|
||||
animation = &"Close"
|
||||
autoplay = "Idle"
|
||||
frame = 2
|
||||
frame_progress = 1.0
|
||||
offset = Vector2(0, -16)
|
||||
script = ExtResource("2_8ee2c")
|
||||
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_12ofo")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_jfxhu")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("5_8ee2c")
|
||||
properties = Array[String](["door_id", "sublevel_id"])
|
||||
properties_force_selector = Dictionary[String, PackedScene]({
|
||||
"door_id": ExtResource("6_12ofo")
|
||||
})
|
||||
metadata/_custom_type_script = "uid://ctfbuoxtnnl0q"
|
||||
|
||||
[node name="LevelEditorVisibleNode" type="Node2D" parent="."]
|
||||
process_mode = 3
|
||||
visibility_layer = 2
|
||||
z_index = 10
|
||||
z_as_relative = false
|
||||
script = ExtResource("7_jfxhu")
|
||||
metadata/_custom_type_script = "uid://cpwloakvp672a"
|
||||
|
||||
[node name="Label" type="Label" parent="LevelEditorVisibleNode"]
|
||||
offset_left = -16.0
|
||||
offset_top = -32.0
|
||||
offset_right = 16.0
|
||||
offset_bottom = -16.0
|
||||
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
|
||||
text = "1"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Node" type="Node" parent="."]
|
||||
process_mode = 3
|
||||
script = SubResource("GDScript_jfxhu")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_hk64y")
|
||||
}
|
||||
|
||||
[connection signal="updated" from="." to="Node" method="update_line"]
|
41
Scenes/Prefabs/Entities/Objects/ElevatorPlatform.tscn
Normal file
41
Scenes/Prefabs/Entities/Objects/ElevatorPlatform.tscn
Normal file
@@ -0,0 +1,41 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://ctancgnvl58oc"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bosinwppqswdr" path="res://Scripts/Classes/Entities/Objects/ElevatorPlatform.gd" id="1_dmv4g"]
|
||||
[ext_resource type="Texture2D" uid="uid://bk0p52ttwojml" path="res://Assets/Sprites/Tilesets/Platform.png" id="2_b0vbm"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_wc2ur"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Platform.json" id="4_6u0fp"]
|
||||
[ext_resource type="Script" uid="uid://d0mqkvopasu8k" path="res://Scripts/Classes/Components/SecondQuestReplaceComponent.gd" id="5_isijo"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_wc2ur"]
|
||||
size = Vector2(48, 8)
|
||||
|
||||
[node name="ElevatorPlatform" type="StaticBody2D"]
|
||||
physics_interpolation_mode = 2
|
||||
script = ExtResource("1_dmv4g")
|
||||
|
||||
[node name="Sprite" type="NinePatchRect" parent="."]
|
||||
offset_left = -24.0
|
||||
offset_right = 24.0
|
||||
offset_bottom = 8.0
|
||||
texture = ExtResource("2_b0vbm")
|
||||
patch_margin_left = 8
|
||||
patch_margin_right = 8
|
||||
axis_stretch_horizontal = 1
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_wc2ur")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_6u0fp")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, 4)
|
||||
shape = SubResource("RectangleShape2D_wc2ur")
|
||||
|
||||
[node name="SecondQuestReplacer" type="Node" parent="."]
|
||||
script = ExtResource("5_isijo")
|
||||
new_scene = "uid://c36sl1w3qo8k1"
|
||||
properties = Array[String](["vertical_direction", "top"])
|
||||
metadata/_custom_type_script = "uid://d0mqkvopasu8k"
|
53
Scenes/Prefabs/Entities/Objects/EmptyPDoor.tscn
Normal file
53
Scenes/Prefabs/Entities/Objects/EmptyPDoor.tscn
Normal file
@@ -0,0 +1,53 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://c4wvocqpy0w66"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bul1nbd2in1gn" path="res://Scripts/Classes/Components/PSwitcher.gd" id="1_d6q2l"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_hj3mh"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/PDoors.json" id="3_7tad6"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="4_hj3mh"]
|
||||
[ext_resource type="PackedScene" uid="uid://dse5pwhodrqcr" path="res://Scenes/Prefabs/Editor/EditorProperties/TilePropertyIntRangeSpin.tscn" id="5_7tad6"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_7tad6"]
|
||||
script/source = "extends Node2D
|
||||
|
||||
@export_range(0, 99) var door_id := 0
|
||||
|
||||
@export_enum(\"0\", \"1\", \"2\", \"3\", \"4\") var sublevel_id := 0
|
||||
"
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_vytwy"]
|
||||
animations = [{
|
||||
"frames": [],
|
||||
"loop": true,
|
||||
"name": &"Locked",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[node name="EmptyPDoor" type="Node2D"]
|
||||
script = SubResource("GDScript_7tad6")
|
||||
|
||||
[node name="PSwitcher" type="Node" parent="."]
|
||||
script = ExtResource("1_d6q2l")
|
||||
new_scene = "uid://bmsecpiv7yllv"
|
||||
properties = ["door_id", "sublevel_id"]
|
||||
metadata/_custom_type_script = "uid://bul1nbd2in1gn"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -16)
|
||||
sprite_frames = SubResource("SpriteFrames_vytwy")
|
||||
animation = &"Locked"
|
||||
autoplay = "Locked"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("2_hj3mh")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("3_7tad6")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="PropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("4_hj3mh")
|
||||
properties = ["door_id", "sublevel_id"]
|
||||
properties_force_selector = Dictionary[String, PackedScene]({
|
||||
"door_id": ExtResource("5_7tad6")
|
||||
})
|
||||
metadata/_custom_type_script = "uid://ctfbuoxtnnl0q"
|
54
Scenes/Prefabs/Entities/Objects/FallingPlatform.tscn
Normal file
54
Scenes/Prefabs/Entities/Objects/FallingPlatform.tscn
Normal file
@@ -0,0 +1,54 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://bm8obwlkm56wb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c4m157i8p54cf" path="res://Scripts/Classes/Entities/Objects/FallingPlatform.gd" id="1_krw4p"]
|
||||
[ext_resource type="Texture2D" uid="uid://bk0p52ttwojml" path="res://Assets/Sprites/Tilesets/Platform.png" id="2_p76vr"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_r8wfm"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Platform.json" id="4_odngu"]
|
||||
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="5_c36tx"]
|
||||
[ext_resource type="Texture2D" uid="uid://cke2nve5v64am" path="res://Assets/Sprites/Editor/PlatformIcons/Falling.png" id="6_klq8y"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r8wfm"]
|
||||
size = Vector2(32, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_c36tx"]
|
||||
size = Vector2(36, 10)
|
||||
|
||||
[node name="FallingPlatform" type="AnimatableBody2D"]
|
||||
script = ExtResource("1_krw4p")
|
||||
|
||||
[node name="TextureRect" type="NinePatchRect" parent="."]
|
||||
offset_left = -16.0
|
||||
offset_right = 16.0
|
||||
offset_bottom = 8.0
|
||||
texture = ExtResource("2_p76vr")
|
||||
patch_margin_left = 8
|
||||
patch_margin_right = 8
|
||||
axis_stretch_horizontal = 1
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="TextureRect" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_r8wfm")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_odngu")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, 4)
|
||||
shape = SubResource("RectangleShape2D_r8wfm")
|
||||
|
||||
[node name="PlayerDetect" type="Area2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetect"]
|
||||
position = Vector2(0, 3)
|
||||
shape = SubResource("RectangleShape2D_c36tx")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="LevelEditorVisibleNode" type="Node2D" parent="."]
|
||||
visibility_layer = 2
|
||||
script = ExtResource("5_c36tx")
|
||||
metadata/_custom_type_script = "uid://cpwloakvp672a"
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="LevelEditorVisibleNode"]
|
||||
position = Vector2(8, 8)
|
||||
texture = ExtResource("6_klq8y")
|
556
Scenes/Prefabs/Entities/Objects/Firebar.tscn
Normal file
556
Scenes/Prefabs/Entities/Objects/Firebar.tscn
Normal file
@@ -0,0 +1,556 @@
|
||||
[gd_scene load_steps=16 format=3 uid="uid://iq86u4w60yee"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b7n5kp30whnb3" path="res://Assets/Sprites/Blocks/FireBar.png" id="1_e2e05"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_kpo86"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_kpo86"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="3_p4n6u"]
|
||||
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="4_vag0n"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/FireBarFireBall.json" id="4_ym371"]
|
||||
[ext_resource type="Texture2D" uid="uid://dsncqqhfsnq6s" path="res://Assets/Sprites/Editor/RotationIcon.png" id="5_ytedt"]
|
||||
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="6_m0plg"]
|
||||
[ext_resource type="Resource" uid="uid://c8ojbqg4q4qh6" path="res://Resources/ThemedResources/EditorRotationIcon.tres" id="7_3irkc"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_e2e05"]
|
||||
script/source = "extends Node2D
|
||||
|
||||
@export_range(4, 16) var length := 6
|
||||
|
||||
@export_range(0, 360, 45) var starting_angle := 0
|
||||
|
||||
@export_enum(\"C-Clockwise\", \"Clockwise\") var direction := 0
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
$RotationJoint.global_rotation_degrees += 90 * delta * [-1, 1][direction]
|
||||
|
||||
func on_area_entered(area: Area2D) -> void:
|
||||
if area.owner is Player:
|
||||
area.owner.damage()
|
||||
"
|
||||
|
||||
[sub_resource type="SegmentShape2D" id="SegmentShape2D_p4n6u"]
|
||||
resource_local_to_scene = true
|
||||
b = Vector2(0, -40)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vag0n"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:rotation")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_oygiu"]
|
||||
resource_name = "Spin"
|
||||
length = 0.4
|
||||
loop_mode = 1
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:rotation")
|
||||
tracks/0/interp = 0
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.100442, 0.2, 0.3),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 1.5708, 3.14159, 4.71239]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ytedt"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_vag0n"),
|
||||
&"Spin": SubResource("Animation_oygiu")
|
||||
}
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_p4n6u"]
|
||||
script/source = "@tool
|
||||
extends Node
|
||||
|
||||
func _ready() -> void:
|
||||
await get_tree().physics_frame
|
||||
%RotationJoint.global_rotation_degrees = owner.starting_angle
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
var idx := 0
|
||||
for i in $\"../Fireballs\".get_children():
|
||||
i.visible = idx < owner.length
|
||||
idx += 1
|
||||
if Engine.is_editor_hint() == false:
|
||||
if Global.current_game_mode == Global.GameMode.LEVEL_EDITOR and LevelEditor.playing_level == false:
|
||||
%RotationJoint.global_rotation_degrees = owner.starting_angle
|
||||
else:
|
||||
%RotationJoint.global_rotation_degrees = owner.starting_angle
|
||||
$\"../RotationJoint/Hitbox/Shape\".shape.b = Vector2(0, -(owner.length - 1) * 8)
|
||||
$\"../Node2D/Sprite2D\".scale.x = [-1, 1][owner.direction]
|
||||
"
|
||||
|
||||
[node name="Firebar" type="Node2D"]
|
||||
script = SubResource("GDScript_e2e05")
|
||||
|
||||
[node name="FireBar" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
top_level = true
|
||||
z_index = -5
|
||||
texture = ExtResource("1_e2e05")
|
||||
|
||||
[node name="RotationJoint" type="Node2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
z_index = 20
|
||||
|
||||
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
remote_path = NodePath("../../Fireballs/Fireball1")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D2" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -8)
|
||||
remote_path = NodePath("../../Fireballs/Fireball2")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D3" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -16)
|
||||
remote_path = NodePath("../../Fireballs/Fireball3")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D4" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -24)
|
||||
remote_path = NodePath("../../Fireballs/Fireball4")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D5" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -32)
|
||||
remote_path = NodePath("../../Fireballs/Fireball5")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D6" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -40)
|
||||
remote_path = NodePath("../../Fireballs/Fireball6")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D7" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -48)
|
||||
remote_path = NodePath("../../Fireballs/Fireball7")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D8" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -56)
|
||||
remote_path = NodePath("../../Fireballs/Fireball8")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D9" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -64)
|
||||
remote_path = NodePath("../../Fireballs/Fireball9")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D10" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -72)
|
||||
remote_path = NodePath("../../Fireballs/Fireball10")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D11" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -80)
|
||||
remote_path = NodePath("../../Fireballs/Fireball11")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D12" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -88)
|
||||
remote_path = NodePath("../../Fireballs/Fireball12")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D13" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -96)
|
||||
remote_path = NodePath("../../Fireballs/Fireball13")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D14" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -104)
|
||||
remote_path = NodePath("../../Fireballs/Fireball14")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D15" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -112)
|
||||
remote_path = NodePath("../../Fireballs/Fireball15")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D16" type="RemoteTransform2D" parent="RotationJoint"]
|
||||
position = Vector2(0, -120)
|
||||
remote_path = NodePath("../../Fireballs/Fireball16")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="RotationJoint"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="RotationJoint/Hitbox"]
|
||||
shape = SubResource("SegmentShape2D_p4n6u")
|
||||
|
||||
[node name="Fireballs" type="Node2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
z_index = 20
|
||||
|
||||
[node name="Fireball1" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball1"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball1" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball2" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
position = Vector2(0, -8)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball2"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball2" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball3" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
position = Vector2(0, -16)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball3"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball3" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball4" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
position = Vector2(0, -24)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball4"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball4" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball5" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
position = Vector2(0, -32)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball5"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball5" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball6" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
position = Vector2(0, -40)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball6"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball6" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball7" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
visible = false
|
||||
position = Vector2(0, -48)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball7"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball7" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball8" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
visible = false
|
||||
position = Vector2(0, -56)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball8"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball8" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball9" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
visible = false
|
||||
position = Vector2(0, -64)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball9"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball9" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball10" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
visible = false
|
||||
position = Vector2(0, -72)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball10"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball10" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball11" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
visible = false
|
||||
position = Vector2(0, -80)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball11"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball11" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball12" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
visible = false
|
||||
position = Vector2(0, -88)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball12"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball12" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball13" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
visible = false
|
||||
position = Vector2(0, -96)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball13"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball13" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball14" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
visible = false
|
||||
position = Vector2(0, -104)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball14"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball14" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball15" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
visible = false
|
||||
position = Vector2(0, -112)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball15"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball15" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Fireball16" type="AnimatedSprite2D" parent="Fireballs"]
|
||||
visible = false
|
||||
position = Vector2(0, -120)
|
||||
script = ExtResource("2_kpo86")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Fireballs/Fireball16"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Fireballs/Fireball16" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_kpo86")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_ym371")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="."]
|
||||
remote_path = NodePath("../FireBar")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("3_p4n6u")
|
||||
properties = Array[String](["length", "starting_angle", "direction"])
|
||||
|
||||
[node name="FireballHandler" type="Node" parent="."]
|
||||
process_mode = 3
|
||||
script = SubResource("GDScript_p4n6u")
|
||||
|
||||
[node name="Node2D" type="Node2D" parent="."]
|
||||
script = ExtResource("4_vag0n")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Node2D"]
|
||||
physics_interpolation_mode = 2
|
||||
z_index = 50
|
||||
z_as_relative = false
|
||||
scale = Vector2(-1, 1)
|
||||
texture = ExtResource("5_ytedt")
|
||||
offset = Vector2(1, 0)
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Node2D/Sprite2D" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("6_m0plg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
themed_resource = ExtResource("7_3irkc")
|
||||
metadata/_custom_type_script = "uid://cq6f682453q6o"
|
||||
|
||||
[connection signal="area_entered" from="RotationJoint/Hitbox" to="." method="on_area_entered"]
|
179
Scenes/Prefabs/Entities/Objects/GreenKoopaShell.tscn
Normal file
179
Scenes/Prefabs/Entities/Objects/GreenKoopaShell.tscn
Normal file
@@ -0,0 +1,179 @@
|
||||
[gd_scene load_steps=22 format=3 uid="uid://bowadxqfmg636"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b0mk8rdwt73w0" path="res://Scripts/Classes/Entities/ShellClass.gd" id="1_diywd"]
|
||||
[ext_resource type="Texture2D" uid="uid://cy6v7tdtxebs5" path="res://Assets/Sprites/Enemies/KoopaTroopa.png" id="2_hddfq"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_y03il"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="3_6e771"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_hddfq"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/GreenKoopaShell.json" id="4_y03il"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="4_ygks6"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="7_03ndt"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="8_0nmd6"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="9_8vmgs"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="10_y03il"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_oqwce"]
|
||||
atlas = ExtResource("2_hddfq")
|
||||
region = Rect2(32, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_80wu4"]
|
||||
atlas = ExtResource("2_hddfq")
|
||||
region = Rect2(48, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rvngx"]
|
||||
atlas = ExtResource("2_hddfq")
|
||||
region = Rect2(64, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_amsp7"]
|
||||
atlas = ExtResource("2_hddfq")
|
||||
region = Rect2(80, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hqtjl"]
|
||||
atlas = ExtResource("2_hddfq")
|
||||
region = Rect2(32, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_u5jpg"]
|
||||
atlas = ExtResource("2_hddfq")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_j2gdr"]
|
||||
atlas = ExtResource("2_hddfq")
|
||||
region = Rect2(32, 16, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_5qj7r"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_oqwce")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_80wu4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rvngx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_amsp7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hqtjl")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Spin",
|
||||
"speed": 15.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_u5jpg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_j2gdr")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Wake",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_03ndt"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_hddfq"]
|
||||
size = Vector2(16, 12)
|
||||
|
||||
[node name="GreenKoopaShell" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 32
|
||||
collision_mask = 6
|
||||
floor_constant_speed = true
|
||||
floor_max_angle = 0.80285144
|
||||
floor_snap_length = 4.0
|
||||
script = ExtResource("1_diywd")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_5qj7r")
|
||||
animation = &"Spin"
|
||||
frame = 3
|
||||
frame_progress = 0.781081
|
||||
offset = Vector2(0, 1)
|
||||
script = ExtResource("2_y03il")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_hddfq")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_y03il")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="LCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -6)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("RectangleShape2D_03ndt")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="RCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -6)
|
||||
rotation = -1.5708
|
||||
shape = SubResource("RectangleShape2D_03ndt")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_mask = 5
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -6)
|
||||
shape = SubResource("RectangleShape2D_hddfq")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("3_6e771")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("4_ygks6")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("7_03ndt")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("8_0nmd6")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("9_8vmgs")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("10_y03il")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(1, 0.98723614)
|
||||
rect = Rect2(-128, -128, 256, 256)
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"]
|
||||
[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="on_player_hit"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="on_player_stomped_on"]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="." method="die_from_object"]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="block_bounced"]
|
||||
[connection signal="screen_exited" from="VisibleOnScreenEnabler2D" to="." method="queue_free"]
|
28
Scenes/Prefabs/Entities/Objects/LargeFallingPlatform.tscn
Normal file
28
Scenes/Prefabs/Entities/Objects/LargeFallingPlatform.tscn
Normal file
@@ -0,0 +1,28 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://dn3cblgvf2ba1"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bm8obwlkm56wb" path="res://Scenes/Prefabs/Entities/Objects/FallingPlatform.tscn" id="1_6dtc5"]
|
||||
[ext_resource type="Script" uid="uid://d0mqkvopasu8k" path="res://Scripts/Classes/Components/SecondQuestReplaceComponent.gd" id="2_jcaah"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_jcaah"]
|
||||
size = Vector2(48, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_w0y68"]
|
||||
size = Vector2(48, 10)
|
||||
|
||||
[node name="FallingPlatform" instance=ExtResource("1_6dtc5")]
|
||||
|
||||
[node name="TextureRect" parent="." index="0"]
|
||||
offset_left = -24.0
|
||||
offset_right = 24.0
|
||||
|
||||
[node name="CollisionShape2D" parent="." index="1"]
|
||||
position = Vector2(0, 4)
|
||||
shape = SubResource("RectangleShape2D_jcaah")
|
||||
|
||||
[node name="CollisionShape2D" parent="PlayerDetect" index="0"]
|
||||
shape = SubResource("RectangleShape2D_w0y68")
|
||||
|
||||
[node name="SecondQuestReplacer" type="Node" parent="." index="4"]
|
||||
script = ExtResource("2_jcaah")
|
||||
new_scene = "uid://bm8obwlkm56wb"
|
||||
metadata/_custom_type_script = "uid://d0mqkvopasu8k"
|
9
Scenes/Prefabs/Entities/Objects/LitBobOmbHeld.tscn
Normal file
9
Scenes/Prefabs/Entities/Objects/LitBobOmbHeld.tscn
Normal file
@@ -0,0 +1,9 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://b13d12fdho258"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://d075e1520ngrv" path="res://Scenes/Prefabs/Entities/Objects/BobOmbHeld.tscn" id="1_grd3e"]
|
||||
|
||||
[node name="BobOmbHeld" instance=ExtResource("1_grd3e")]
|
||||
timer = 1.0
|
||||
|
||||
[node name="FlashAnimation" parent="ScaleJoint/Sprite" index="1"]
|
||||
speed_scale = 2.0
|
75
Scenes/Prefabs/Entities/Objects/LockedDoor.tscn
Normal file
75
Scenes/Prefabs/Entities/Objects/LockedDoor.tscn
Normal file
@@ -0,0 +1,75 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://chfnuhi45nquf"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://u3t1k5j28yap" path="res://Scenes/Prefabs/Entities/Objects/Door.tscn" id="1_t0orm"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/LockedDoors.json" id="2_0bcyf"]
|
||||
[ext_resource type="Texture2D" uid="uid://fyxbhdmqfxk5" path="res://Assets/Sprites/Tilesets/Doors.png" id="2_0u2mu"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kr4bu"]
|
||||
atlas = ExtResource("2_0u2mu")
|
||||
region = Rect2(48, 0, 16, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_penv4"]
|
||||
atlas = ExtResource("2_0u2mu")
|
||||
region = Rect2(32, 0, 16, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jfxhu"]
|
||||
atlas = ExtResource("2_0u2mu")
|
||||
region = Rect2(16, 0, 16, 32)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_1efep"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kr4bu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_penv4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jfxhu")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Close",
|
||||
"speed": 15.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jfxhu")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [],
|
||||
"loop": true,
|
||||
"name": &"Locked",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jfxhu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_penv4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kr4bu")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Open",
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[node name="LockedDoor" instance=ExtResource("1_t0orm")]
|
||||
locked = true
|
||||
start_locked = true
|
||||
|
||||
[node name="Sprite" parent="." index="1"]
|
||||
sprite_frames = SubResource("SpriteFrames_1efep")
|
||||
animation = &"Locked"
|
||||
autoplay = "Locked"
|
||||
frame = 0
|
||||
frame_progress = 0.0
|
||||
|
||||
[node name="ResourceSetterNew" parent="Sprite" index="0"]
|
||||
resource_json = ExtResource("2_0bcyf")
|
135
Scenes/Prefabs/Entities/Objects/LongFirebar.tscn
Executable file
135
Scenes/Prefabs/Entities/Objects/LongFirebar.tscn
Executable file
@@ -0,0 +1,135 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://033s0lgpb33l"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://iq86u4w60yee" path="res://Scenes/Prefabs/Entities/Objects/Firebar.tscn" id="1_m6o3e"]
|
||||
[ext_resource type="Texture2D" uid="uid://pidoncb5gcax" path="res://Assets/Sprites/Items/Fireball.png" id="2_s1hms"]
|
||||
|
||||
[sub_resource type="SegmentShape2D" id="SegmentShape2D_s77o2"]
|
||||
b = Vector2(0, 80)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vag0n"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:rotation")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_oygiu"]
|
||||
resource_name = "Spin"
|
||||
length = 0.4
|
||||
loop_mode = 1
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:rotation")
|
||||
tracks/0/interp = 0
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.100442, 0.2, 0.3),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 1.5708, 3.14159, 4.71239]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ytedt"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_vag0n"),
|
||||
&"Spin": SubResource("Animation_oygiu")
|
||||
}
|
||||
|
||||
[node name="Firebar" instance=ExtResource("1_m6o3e")]
|
||||
|
||||
[node name="RemoteTransform2D17" type="RemoteTransform2D" parent="RotationJoint" index="6"]
|
||||
position = Vector2(0, 48)
|
||||
remote_path = NodePath("../../Fireballs/Fireball7")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D18" type="RemoteTransform2D" parent="RotationJoint" index="7"]
|
||||
position = Vector2(0, 56)
|
||||
remote_path = NodePath("../../Fireballs/Fireball8")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D19" type="RemoteTransform2D" parent="RotationJoint" index="8"]
|
||||
position = Vector2(0, 64)
|
||||
remote_path = NodePath("../../Fireballs/Fireball9")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D20" type="RemoteTransform2D" parent="RotationJoint" index="9"]
|
||||
position = Vector2(0, 72)
|
||||
remote_path = NodePath("../../Fireballs/Fireball10")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="RemoteTransform2D21" type="RemoteTransform2D" parent="RotationJoint" index="10"]
|
||||
position = Vector2(0, 80)
|
||||
remote_path = NodePath("../../Fireballs/Fireball11")
|
||||
update_rotation = false
|
||||
update_scale = false
|
||||
|
||||
[node name="Shape" parent="RotationJoint/Hitbox" index="0"]
|
||||
shape = SubResource("SegmentShape2D_s77o2")
|
||||
|
||||
[node name="Fireballs" parent="." index="2"]
|
||||
z_index = 4096
|
||||
z_as_relative = false
|
||||
|
||||
[node name="Fireball17" type="Sprite2D" parent="Fireballs" index="6"]
|
||||
position = Vector2(33.9411, 33.9411)
|
||||
texture = ExtResource("2_s1hms")
|
||||
|
||||
[node name="Fireball18" type="Sprite2D" parent="Fireballs" index="7"]
|
||||
position = Vector2(39.598, 39.598)
|
||||
texture = ExtResource("2_s1hms")
|
||||
|
||||
[node name="Fireball19" type="Sprite2D" parent="Fireballs" index="8"]
|
||||
position = Vector2(45.2548, 45.2548)
|
||||
texture = ExtResource("2_s1hms")
|
||||
|
||||
[node name="Fireball20" type="Sprite2D" parent="Fireballs" index="9"]
|
||||
position = Vector2(50.9117, 50.9117)
|
||||
texture = ExtResource("2_s1hms")
|
||||
|
||||
[node name="Fireball21" type="Sprite2D" parent="Fireballs" index="10"]
|
||||
position = Vector2(56.5685, 56.5686)
|
||||
texture = ExtResource("2_s1hms")
|
||||
|
||||
[node name="Animation2" type="AnimationPlayer" parent="Fireballs/Fireball7" index="0"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="Animation2" type="AnimationPlayer" parent="Fireballs/Fireball8" index="0"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="Animation2" type="AnimationPlayer" parent="Fireballs/Fireball9" index="0"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="Animation2" type="AnimationPlayer" parent="Fireballs/Fireball10" index="0"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
|
||||
[node name="Animation2" type="AnimationPlayer" parent="Fireballs/Fireball11" index="0"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ytedt")
|
||||
}
|
||||
autoplay = "Spin"
|
15
Scenes/Prefabs/Entities/Objects/MediumElevatorPlatform.tscn
Normal file
15
Scenes/Prefabs/Entities/Objects/MediumElevatorPlatform.tscn
Normal file
@@ -0,0 +1,15 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://c36sl1w3qo8k1"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://f48a0jmx334d" path="res://Scenes/Prefabs/Entities/Objects/SmallElevatorPlatform.tscn" id="1_uynsq"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_uynsq"]
|
||||
size = Vector2(32, 8)
|
||||
|
||||
[node name="ElevatorPlatform" instance=ExtResource("1_uynsq")]
|
||||
|
||||
[node name="Sprite" parent="." index="0"]
|
||||
offset_left = -16.0
|
||||
offset_right = 16.0
|
||||
|
||||
[node name="Collision" parent="." index="1"]
|
||||
shape = SubResource("RectangleShape2D_uynsq")
|
47
Scenes/Prefabs/Entities/Objects/OnOffSidewaysPlatform.tscn
Normal file
47
Scenes/Prefabs/Entities/Objects/OnOffSidewaysPlatform.tscn
Normal file
@@ -0,0 +1,47 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://c8cxhsod82kwm"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://c8m8455b6ikrn" path="res://Scenes/Prefabs/Entities/Objects/SidewaysPlatform.tscn" id="1_m1s5k"]
|
||||
[ext_resource type="Texture2D" uid="uid://dfpbjnd1o5tig" path="res://Assets/Sprites/Tilesets/OnOffPlatform.png" id="2_m1s5k"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/OnOffPlatform.json" id="3_p1l0p"]
|
||||
[ext_resource type="Script" uid="uid://364rywt44hy6" path="res://Scripts/Classes/UI/PackSprite.gd" id="4_mdd6r"]
|
||||
[ext_resource type="Script" uid="uid://cb0spbe0l8mof" path="res://Scripts/Classes/Components/AnimationPauser.gd" id="4_p1l0p"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mdd6r"]
|
||||
size = Vector2(48, 8)
|
||||
|
||||
[node name="SidewaysPlatform" instance=ExtResource("1_m1s5k")]
|
||||
|
||||
[node name="Sprite" parent="AnimatableBody2D" index="0"]
|
||||
offset_left = -20.0
|
||||
offset_right = 20.0
|
||||
texture = ExtResource("2_m1s5k")
|
||||
region_rect = Rect2(0, 0, 24, 8)
|
||||
|
||||
[node name="ResourceSetter" parent="AnimatableBody2D/Sprite" index="0"]
|
||||
resource_json = ExtResource("3_p1l0p")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="AnimatableBody2D/Sprite" index="1"]
|
||||
position = Vector2(16, 0)
|
||||
texture = ExtResource("2_m1s5k")
|
||||
centered = false
|
||||
hframes = 2
|
||||
region_enabled = true
|
||||
region_rect = Rect2(24, 0, 16, 8)
|
||||
script = ExtResource("4_mdd6r")
|
||||
metadata/_custom_type_script = "uid://364rywt44hy6"
|
||||
|
||||
[node name="Collision" parent="AnimatableBody2D" index="1"]
|
||||
visible = true
|
||||
shape = SubResource("RectangleShape2D_mdd6r")
|
||||
|
||||
[node name="LevelEditorVisibleNode" parent="." index="2"]
|
||||
visible = true
|
||||
|
||||
[node name="AnimationPauser" type="Node" parent="." index="4" node_paths=PackedStringArray("animation_player") groups=["BooBlocks"]]
|
||||
script = ExtResource("4_p1l0p")
|
||||
animation_player = NodePath("../AnimationPlayer")
|
||||
paused = true
|
||||
metadata/_custom_type_script = "uid://cb0spbe0l8mof"
|
||||
|
||||
[connection signal="just_paused" from="AnimationPauser" to="AnimatableBody2D/Sprite/Sprite2D" method="set_frame" binds= [0]]
|
||||
[connection signal="resumed" from="AnimationPauser" to="AnimatableBody2D/Sprite/Sprite2D" method="set_frame" binds= [1]]
|
@@ -0,0 +1,15 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://jnun56lervsy"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://c8cxhsod82kwm" path="res://Scenes/Prefabs/Entities/Objects/OnOffSidewaysPlatform.tscn" id="1_bcqgw"]
|
||||
|
||||
[node name="SidewaysPlatform" instance=ExtResource("1_bcqgw")]
|
||||
|
||||
[node name="Sprite" parent="AnimatableBody2D" index="0"]
|
||||
region_rect = Rect2(0, 8, 24, 8)
|
||||
|
||||
[node name="Sprite2D" parent="AnimatableBody2D/Sprite" index="1"]
|
||||
frame = 1
|
||||
region_rect = Rect2(24, 8, 16, 8)
|
||||
|
||||
[node name="AnimationPauser" parent="." index="4"]
|
||||
paused = false
|
42
Scenes/Prefabs/Entities/Objects/OnOffVerticalPlatform.tscn
Normal file
42
Scenes/Prefabs/Entities/Objects/OnOffVerticalPlatform.tscn
Normal file
@@ -0,0 +1,42 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://t5vu4gl0ra8x"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://c6x7gv2lqeu1x" path="res://Scenes/Prefabs/Entities/Objects/VerticalPlatform.tscn" id="1_nwvxx"]
|
||||
[ext_resource type="Texture2D" uid="uid://dfpbjnd1o5tig" path="res://Assets/Sprites/Tilesets/OnOffPlatform.png" id="2_iy32g"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/OnOffPlatform.json" id="3_50hv7"]
|
||||
[ext_resource type="Script" uid="uid://cb0spbe0l8mof" path="res://Scripts/Classes/Components/AnimationPauser.gd" id="3_iy32g"]
|
||||
[ext_resource type="Script" uid="uid://364rywt44hy6" path="res://Scripts/Classes/UI/PackSprite.gd" id="4_0jnxm"]
|
||||
|
||||
[node name="OnOffSidewaysPlatform" instance=ExtResource("1_nwvxx")]
|
||||
|
||||
[node name="Sprite" parent="AnimatableBody2D" index="0"]
|
||||
offset_left = -20.0
|
||||
offset_right = 20.0
|
||||
texture = ExtResource("2_iy32g")
|
||||
region_rect = Rect2(0, 0, 24, 8)
|
||||
patch_margin_left = 8
|
||||
patch_margin_right = 8
|
||||
|
||||
[node name="ResourceSetter" parent="AnimatableBody2D/Sprite" index="0"]
|
||||
resource_json = ExtResource("3_50hv7")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="AnimatableBody2D/Sprite" index="1"]
|
||||
position = Vector2(16, 0)
|
||||
texture = ExtResource("2_iy32g")
|
||||
centered = false
|
||||
hframes = 2
|
||||
region_enabled = true
|
||||
region_rect = Rect2(24, 0, 16, 8)
|
||||
script = ExtResource("4_0jnxm")
|
||||
metadata/_custom_type_script = "uid://364rywt44hy6"
|
||||
|
||||
[node name="Collision" parent="AnimatableBody2D" index="1"]
|
||||
visible = true
|
||||
|
||||
[node name="AnimationPauser" type="Node" parent="." index="4" node_paths=PackedStringArray("animation_player") groups=["BooBlocks"]]
|
||||
script = ExtResource("3_iy32g")
|
||||
animation_player = NodePath("../AnimationPlayer")
|
||||
paused = true
|
||||
metadata/_custom_type_script = "uid://cb0spbe0l8mof"
|
||||
|
||||
[connection signal="just_paused" from="AnimationPauser" to="AnimatableBody2D/Sprite/Sprite2D" method="set_frame" binds= [0]]
|
||||
[connection signal="resumed" from="AnimationPauser" to="AnimatableBody2D/Sprite/Sprite2D" method="set_frame" binds= [1]]
|
@@ -0,0 +1,15 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://ry4jg3jyxnvy"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://t5vu4gl0ra8x" path="res://Scenes/Prefabs/Entities/Objects/OnOffVerticalPlatform.tscn" id="1_pd2fy"]
|
||||
|
||||
[node name="OnOffSidewaysPlatform" instance=ExtResource("1_pd2fy")]
|
||||
|
||||
[node name="Sprite" parent="AnimatableBody2D" index="0"]
|
||||
region_rect = Rect2(0, 8, 24, 8)
|
||||
|
||||
[node name="Sprite2D" parent="AnimatableBody2D/Sprite" index="1"]
|
||||
frame = 1
|
||||
region_rect = Rect2(24, 8, 16, 8)
|
||||
|
||||
[node name="AnimationPauser" parent="." index="4"]
|
||||
paused = false
|
20
Scenes/Prefabs/Entities/Objects/PDoor.tscn
Normal file
20
Scenes/Prefabs/Entities/Objects/PDoor.tscn
Normal file
@@ -0,0 +1,20 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://bmsecpiv7yllv"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://u3t1k5j28yap" path="res://Scenes/Prefabs/Entities/Objects/Door.tscn" id="1_ovd7t"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/PDoors.json" id="2_fprkw"]
|
||||
[ext_resource type="Script" uid="uid://bul1nbd2in1gn" path="res://Scripts/Classes/Components/PSwitcher.gd" id="3_fprkw"]
|
||||
|
||||
[node name="Door" instance=ExtResource("1_ovd7t")]
|
||||
|
||||
[node name="Sprite" parent="." index="1"]
|
||||
animation = &"Idle"
|
||||
frame = 0
|
||||
frame_progress = 0.0
|
||||
|
||||
[node name="ResourceSetterNew" parent="Sprite" index="0"]
|
||||
resource_json = ExtResource("2_fprkw")
|
||||
|
||||
[node name="PSwitcher" type="Node" parent="." index="6"]
|
||||
script = ExtResource("3_fprkw")
|
||||
new_scene = "uid://c4wvocqpy0w66"
|
||||
metadata/_custom_type_script = "uid://bul1nbd2in1gn"
|
221
Scenes/Prefabs/Entities/Objects/PSwitch.tscn
Normal file
221
Scenes/Prefabs/Entities/Objects/PSwitch.tscn
Normal file
@@ -0,0 +1,221 @@
|
||||
[gd_scene load_steps=20 format=3 uid="uid://ciddq8ctlj453"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://df20kjawaoqcl" path="res://Scripts/Classes/Entities/Objects/PSwitch.gd" id="1_v4mdn"]
|
||||
[ext_resource type="Texture2D" uid="uid://y81rhybgt7kb" path="res://Assets/Sprites/Items/PSwitch.png" id="1_x602l"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_6jgcs"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_05vv4"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_mnfbm"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/PSwitch.json" id="4_1w7q1"]
|
||||
[ext_resource type="Script" uid="uid://bx6r8sjar6cwr" path="res://Scripts/Classes/Components/BasicStaticMovement.gd" id="4_6jgcs"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="7_1w7q1"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mnfbm"]
|
||||
atlas = ExtResource("1_x602l")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1w7q1"]
|
||||
atlas = ExtResource("1_x602l")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_v4mdn"]
|
||||
atlas = ExtResource("1_x602l")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_i4nd2"]
|
||||
atlas = ExtResource("1_x602l")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_eeyhw"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 10.0,
|
||||
"texture": SubResource("AtlasTexture_mnfbm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1w7q1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_v4mdn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1w7q1")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 10.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_i4nd2")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Pressed",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_12hsl"]
|
||||
size = Vector2(12, 5)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ofd0i"]
|
||||
size = Vector2(10, 2)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_v4mdn"]
|
||||
resource_name = "Pressed"
|
||||
length = 0.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("PressedCollision:shape:size")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(12, 5)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("PressedCollision:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, -2.5)]
|
||||
}
|
||||
tracks/2/type = "method"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath(".")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0.5),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"queue_free"
|
||||
}]
|
||||
}
|
||||
tracks/3/type = "method"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("GibSpawner")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0.5),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"summon_poof"
|
||||
}]
|
||||
}
|
||||
tracks/4/type = "method"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("LCollision")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"queue_free"
|
||||
}]
|
||||
}
|
||||
tracks/5/type = "method"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("RCollision")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"queue_free"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_i4nd2"]
|
||||
length = 0.001
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_eeyhw"]
|
||||
_data = {
|
||||
&"Pressed": SubResource("Animation_v4mdn"),
|
||||
&"RESET": SubResource("Animation_i4nd2")
|
||||
}
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_v4mdn"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[node name="PSwitch" type="CharacterBody2D"]
|
||||
collision_layer = 33
|
||||
collision_mask = 6
|
||||
script = ExtResource("1_v4mdn")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_eeyhw")
|
||||
animation = &"Idle"
|
||||
autoplay = "Idle"
|
||||
offset = Vector2(0, 1)
|
||||
script = ExtResource("2_6jgcs")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_mnfbm")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_1w7q1")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="PressedCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -2.5)
|
||||
shape = SubResource("RectangleShape2D_12hsl")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="PlayerDetection" type="Area2D" parent="."]
|
||||
script = ExtResource("3_05vv4")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
|
||||
position = Vector2(0, -13)
|
||||
shape = SubResource("RectangleShape2D_ofd0i")
|
||||
|
||||
[node name="BasicStaticMovement" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_6jgcs")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://bx6r8sjar6cwr"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("7_1w7q1")
|
||||
visuals = NodePath("../Sprite")
|
||||
gib_type = 2
|
||||
play_death_sfx = false
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_eeyhw")
|
||||
}
|
||||
|
||||
[node name="LCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -6)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("RectangleShape2D_v4mdn")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="RCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -6)
|
||||
rotation = -1.5708
|
||||
shape = SubResource("RectangleShape2D_v4mdn")
|
||||
one_way_collision = true
|
||||
|
||||
[connection signal="player_entered" from="PlayerDetection" to="." method="on_player_entered"]
|
10
Scenes/Prefabs/Entities/Objects/RedKoopaShell.tscn
Normal file
10
Scenes/Prefabs/Entities/Objects/RedKoopaShell.tscn
Normal file
@@ -0,0 +1,10 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://dam4dqebjgk1n"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bowadxqfmg636" path="res://Scenes/Prefabs/Entities/Objects/GreenKoopaShell.tscn" id="1_0kf1t"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/RedKoopaShell.json" id="2_n6ryx"]
|
||||
|
||||
[node name="RedKoopaShell" instance=ExtResource("1_0kf1t")]
|
||||
colour = "Red"
|
||||
|
||||
[node name="ResourceSetterNew" parent="Sprite" index="0"]
|
||||
resource_json = ExtResource("2_n6ryx")
|
76
Scenes/Prefabs/Entities/Objects/RopeElevatorPlatform.tscn
Normal file
76
Scenes/Prefabs/Entities/Objects/RopeElevatorPlatform.tscn
Normal file
@@ -0,0 +1,76 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://6rp3wgax4i51"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://brl0yede1msau" path="res://Scripts/Classes/Entities/Objects/RopeElevatorPlatform.gd" id="1_h7s5k"]
|
||||
[ext_resource type="Texture2D" uid="uid://bk0p52ttwojml" path="res://Assets/Sprites/Tilesets/Platform.png" id="2_j5n7v"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_rve1b"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Platform.json" id="4_o0yqe"]
|
||||
[ext_resource type="Texture2D" uid="uid://dt0qtxu2l646n" path="res://Assets/Sprites/Tilesets/Terrain/Overworld.png" id="5_ufhfv"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Terrain/TerrainTiles.json" id="5_v7k46"]
|
||||
[ext_resource type="Script" uid="uid://d0mqkvopasu8k" path="res://Scripts/Classes/Components/SecondQuestReplaceComponent.gd" id="7_4sogk"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="8_bsily"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_wf1r1"]
|
||||
size = Vector2(48, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_v7k46"]
|
||||
size = Vector2(48, 5)
|
||||
|
||||
[node name="RopeElevatorPlatform" type="Node2D"]
|
||||
script = ExtResource("1_h7s5k")
|
||||
|
||||
[node name="Platform" type="AnimatableBody2D" parent="."]
|
||||
sync_to_physics = false
|
||||
|
||||
[node name="Sprite" type="NinePatchRect" parent="Platform"]
|
||||
offset_left = -24.0
|
||||
offset_right = 24.0
|
||||
offset_bottom = 8.0
|
||||
texture = ExtResource("2_j5n7v")
|
||||
patch_margin_left = 8
|
||||
patch_margin_right = 8
|
||||
axis_stretch_horizontal = 1
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Platform/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_rve1b")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_o0yqe")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Platform"]
|
||||
position = Vector2(0, 4)
|
||||
shape = SubResource("RectangleShape2D_wf1r1")
|
||||
|
||||
[node name="PlayerDetection" type="Area2D" parent="Platform"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Platform/PlayerDetection"]
|
||||
position = Vector2(0, -2.5)
|
||||
shape = SubResource("RectangleShape2D_v7k46")
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="Platform"]
|
||||
script = ExtResource("8_bsily")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="Rope" type="NinePatchRect" parent="."]
|
||||
z_index = -1
|
||||
offset_left = -8.0
|
||||
offset_top = -56.0
|
||||
offset_right = 8.0
|
||||
texture = ExtResource("5_ufhfv")
|
||||
region_rect = Rect2(160, 144, 16, 16)
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Rope" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_rve1b")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("5_v7k46")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="SecondQuestReplacer" type="Node" parent="."]
|
||||
script = ExtResource("7_4sogk")
|
||||
new_scene = "uid://c6ym8t537v4ac"
|
||||
properties = Array[String](["linked_platform", "rope_top"])
|
||||
metadata/_custom_type_script = "uid://d0mqkvopasu8k"
|
105
Scenes/Prefabs/Entities/Objects/SidewaysPlatform.tscn
Normal file
105
Scenes/Prefabs/Entities/Objects/SidewaysPlatform.tscn
Normal file
@@ -0,0 +1,105 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://c8m8455b6ikrn"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bk0p52ttwojml" path="res://Assets/Sprites/Tilesets/Platform.png" id="1_mnf3m"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_lvvvw"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Platform.json" id="3_7kqku"]
|
||||
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="4_kqk52"]
|
||||
[ext_resource type="Texture2D" uid="uid://dpdrrkqtcedgm" path="res://Assets/Sprites/Tilesets/DottedLine.png" id="5_b0jr6"]
|
||||
[ext_resource type="Script" uid="uid://d0mqkvopasu8k" path="res://Scripts/Classes/Components/SecondQuestReplaceComponent.gd" id="6_b0jr6"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mq7me"]
|
||||
size = Vector2(48, 8)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lvvvw"]
|
||||
resource_name = "Move"
|
||||
length = 2.0
|
||||
loop_mode = 2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("AnimatableBody2D:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0), Vector2(-48, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_7kqku"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("AnimatableBody2D: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_kqk52"]
|
||||
_data = {
|
||||
&"Move": SubResource("Animation_lvvvw"),
|
||||
&"RESET": SubResource("Animation_7kqku")
|
||||
}
|
||||
|
||||
[node name="SidewaysPlatform" type="Node2D"]
|
||||
|
||||
[node name="AnimatableBody2D" type="AnimatableBody2D" parent="."]
|
||||
|
||||
[node name="Sprite" type="NinePatchRect" parent="AnimatableBody2D"]
|
||||
offset_left = -24.0
|
||||
offset_right = 24.0
|
||||
offset_bottom = 8.0
|
||||
texture = ExtResource("1_mnf3m")
|
||||
patch_margin_left = 8
|
||||
patch_margin_right = 8
|
||||
axis_stretch_horizontal = 1
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="AnimatableBody2D/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("2_lvvvw")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("3_7kqku")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="AnimatableBody2D"]
|
||||
position = Vector2(0, 4)
|
||||
shape = SubResource("RectangleShape2D_mq7me")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="AnimatableBody2D"]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(0, 4)
|
||||
scale = Vector2(3.2, 1.2)
|
||||
enable_node_path = NodePath("../..")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_kqk52")
|
||||
}
|
||||
autoplay = "Move"
|
||||
|
||||
[node name="LevelEditorVisibleNode" type="Node2D" parent="."]
|
||||
visible = false
|
||||
visibility_layer = 2
|
||||
script = ExtResource("4_kqk52")
|
||||
metadata/_custom_type_script = "uid://cpwloakvp672a"
|
||||
|
||||
[node name="Line2D" type="Line2D" parent="LevelEditorVisibleNode"]
|
||||
texture_repeat = 2
|
||||
position = Vector2(0, 4)
|
||||
points = PackedVector2Array(-48, 0, 0, 0)
|
||||
width = 1.0
|
||||
texture = ExtResource("5_b0jr6")
|
||||
texture_mode = 1
|
||||
|
||||
[node name="SecondQuestReplacer" type="Node" parent="."]
|
||||
script = ExtResource("6_b0jr6")
|
||||
new_scene = "uid://b3or4h5ke6lni"
|
||||
metadata/_custom_type_script = "uid://d0mqkvopasu8k"
|
22
Scenes/Prefabs/Entities/Objects/SmallElevatorPlatform.tscn
Normal file
22
Scenes/Prefabs/Entities/Objects/SmallElevatorPlatform.tscn
Normal file
@@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://f48a0jmx334d"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://ctancgnvl58oc" path="res://Scenes/Prefabs/Entities/Objects/ElevatorPlatform.tscn" id="1_oa2jg"]
|
||||
[ext_resource type="Texture2D" uid="uid://dydljla7iancf" path="res://Assets/Sprites/Tilesets/LLPlatform.png" id="2_f01e0"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f01e0"]
|
||||
size = Vector2(24, 8)
|
||||
|
||||
[node name="ElevatorPlatform" instance=ExtResource("1_oa2jg")]
|
||||
top = -176
|
||||
|
||||
[node name="Sprite" parent="." index="0"]
|
||||
offset_left = -12.0
|
||||
offset_right = 12.0
|
||||
texture = ExtResource("2_f01e0")
|
||||
|
||||
[node name="Collision" parent="." index="1"]
|
||||
position = Vector2(0, 4)
|
||||
shape = SubResource("RectangleShape2D_f01e0")
|
||||
|
||||
[node name="SecondQuestReplacer" parent="." index="2"]
|
||||
new_scene = ""
|
@@ -0,0 +1,24 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://c6ym8t537v4ac"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://6rp3wgax4i51" path="res://Scenes/Prefabs/Entities/Objects/RopeElevatorPlatform.tscn" id="1_uccfj"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_iew1h"]
|
||||
size = Vector2(32, 10)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_qvar1"]
|
||||
size = Vector2(32, 5)
|
||||
|
||||
[node name="SmallRopeElevatorPlatform" instance=ExtResource("1_uccfj")]
|
||||
|
||||
[node name="Sprite" parent="Platform" index="0"]
|
||||
offset_left = -16.0
|
||||
offset_right = 16.0
|
||||
|
||||
[node name="Shape" parent="Platform" index="1"]
|
||||
shape = SubResource("RectangleShape2D_iew1h")
|
||||
|
||||
[node name="Shape" parent="Platform/PlayerDetection" index="0"]
|
||||
shape = SubResource("RectangleShape2D_qvar1")
|
||||
|
||||
[node name="SecondQuestReplacer" parent="." index="2"]
|
||||
new_scene = ""
|
22
Scenes/Prefabs/Entities/Objects/SmallSidewaysPlatform.tscn
Normal file
22
Scenes/Prefabs/Entities/Objects/SmallSidewaysPlatform.tscn
Normal file
@@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://b3or4h5ke6lni"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://c8m8455b6ikrn" path="res://Scenes/Prefabs/Entities/Objects/SidewaysPlatform.tscn" id="1_nuvyr"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_dspyy"]
|
||||
size = Vector2(32, 8)
|
||||
|
||||
[node name="SmallSidewaysPlatform" instance=ExtResource("1_nuvyr")]
|
||||
|
||||
[node name="Sprite" parent="AnimatableBody2D" index="0"]
|
||||
offset_left = -16.0
|
||||
offset_right = 16.0
|
||||
|
||||
[node name="ResourceSetter" parent="AnimatableBody2D/Sprite" index="0"]
|
||||
metadata/_custom_type_script = "uid://cq6f682453q6o"
|
||||
|
||||
[node name="Collision" parent="AnimatableBody2D" index="1"]
|
||||
visible = true
|
||||
shape = SubResource("RectangleShape2D_dspyy")
|
||||
|
||||
[node name="SecondQuestReplacer" parent="." index="3"]
|
||||
new_scene = ""
|
23
Scenes/Prefabs/Entities/Objects/SmallVerticalPlatform.tscn
Normal file
23
Scenes/Prefabs/Entities/Objects/SmallVerticalPlatform.tscn
Normal file
@@ -0,0 +1,23 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cjkmd2yf3f84v"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://c6x7gv2lqeu1x" path="res://Scenes/Prefabs/Entities/Objects/VerticalPlatform.tscn" id="1_wmghi"]
|
||||
[ext_resource type="Texture2D" uid="uid://bk0p52ttwojml" path="res://Assets/Sprites/Tilesets/Platform.png" id="2_kwmma"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kwmma"]
|
||||
size = Vector2(32, 8)
|
||||
|
||||
[node name="SidewaysPlatform" instance=ExtResource("1_wmghi")]
|
||||
|
||||
[node name="Sprite" parent="AnimatableBody2D" index="0"]
|
||||
offset_left = -16.0
|
||||
offset_right = 16.0
|
||||
texture = ExtResource("2_kwmma")
|
||||
patch_margin_left = 8
|
||||
patch_margin_right = 8
|
||||
|
||||
[node name="Collision" parent="AnimatableBody2D" index="1"]
|
||||
visible = true
|
||||
shape = SubResource("RectangleShape2D_kwmma")
|
||||
|
||||
[node name="SecondQuestReplacer" parent="." index="3"]
|
||||
new_scene = ""
|
23
Scenes/Prefabs/Entities/Objects/SuperTrampoline.tscn
Normal file
23
Scenes/Prefabs/Entities/Objects/SuperTrampoline.tscn
Normal file
@@ -0,0 +1,23 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://qaldmcid6jm5"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cdrgm3154qxxy" path="res://Scenes/Prefabs/Entities/Objects/Trampoline.tscn" id="1_6t2fx"]
|
||||
[ext_resource type="Texture2D" uid="uid://dg3rrr0n878nm" path="res://Assets/Sprites/Blocks/SuperTrampoline.png" id="2_dij8c"]
|
||||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="3_6t2fx"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_p1ygu"]
|
||||
atlas = ExtResource("2_dij8c")
|
||||
region = Rect2(0, 0, 48, 32)
|
||||
|
||||
[sub_resource type="Resource" id="Resource_dij8c"]
|
||||
script = ExtResource("3_6t2fx")
|
||||
Overworld = ExtResource("2_dij8c")
|
||||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||||
|
||||
[node name="SuperTrampoline" instance=ExtResource("1_6t2fx")]
|
||||
bounce_height = -1200
|
||||
|
||||
[node name="Sprite" parent="." index="0"]
|
||||
texture = SubResource("AtlasTexture_p1ygu")
|
||||
|
||||
[node name="ResourceSetter" parent="Sprite" index="1"]
|
||||
themed_resource = SubResource("Resource_dij8c")
|
41
Scenes/Prefabs/Entities/Objects/Track.tscn
Normal file
41
Scenes/Prefabs/Entities/Objects/Track.tscn
Normal file
@@ -0,0 +1,41 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://dijxmmwdyjbjc"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://3heyyx506fnu" path="res://Scripts/Classes/Entities/Objects/Track.gd" id="1_5apin"]
|
||||
[ext_resource type="Texture2D" uid="uid://50hm4xgnw8ks" path="res://Assets/Sprites/Tilesets/Tracks.png" id="1_jn31b"]
|
||||
[ext_resource type="PackedScene" uid="uid://4gxhnql5bjk6" path="res://Scenes/Prefabs/Entities/Objects/TrackPiece.tscn" id="2_4k6gi"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="4_kxiuq"]
|
||||
[ext_resource type="PackedScene" uid="uid://byv4sv3cayrmo" path="res://Scenes/Prefabs/Editor/EditorProperties/TilePropertyTrackPath.tscn" id="5_ivm63"]
|
||||
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="6_r3crv"]
|
||||
[ext_resource type="Texture2D" uid="uid://dlldh5aks0wff" path="res://Assets/Sprites/Editor/GhostTile.png" id="7_eovtp"]
|
||||
|
||||
[node name="Track" type="Node2D"]
|
||||
process_mode = 3
|
||||
z_index = -5
|
||||
script = ExtResource("1_5apin")
|
||||
|
||||
[node name="Point" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("1_jn31b")
|
||||
hframes = 2
|
||||
frame = 1
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 16, 32, 16)
|
||||
|
||||
[node name="Pieces" type="Node2D" parent="."]
|
||||
show_behind_parent = true
|
||||
|
||||
[node name="TrackPiece" parent="Pieces" instance=ExtResource("2_4k6gi")]
|
||||
|
||||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("4_kxiuq")
|
||||
properties = Array[String](["path", "start_point", "end_point", "invisible"])
|
||||
properties_force_selector = Dictionary[String, PackedScene]({
|
||||
"path": ExtResource("5_ivm63")
|
||||
})
|
||||
metadata/_custom_type_script = "uid://ctfbuoxtnnl0q"
|
||||
|
||||
[node name="LevelEditorVisibleNode" type="Node2D" parent="."]
|
||||
script = ExtResource("6_r3crv")
|
||||
metadata/_custom_type_script = "uid://cpwloakvp672a"
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="LevelEditorVisibleNode"]
|
||||
texture = ExtResource("7_eovtp")
|
221
Scenes/Prefabs/Entities/Objects/TrackPiece.tscn
Normal file
221
Scenes/Prefabs/Entities/Objects/TrackPiece.tscn
Normal file
@@ -0,0 +1,221 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://4gxhnql5bjk6"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://50hm4xgnw8ks" path="res://Assets/Sprites/Tilesets/Tracks.png" id="1_84p4k"]
|
||||
[ext_resource type="Script" uid="uid://chhr6kgvstkod" path="res://Scripts/Classes/Entities/Objects/TrackPiece.gd" id="1_t2c2l"]
|
||||
[ext_resource type="Texture2D" uid="uid://barofu3g8jf00" path="res://Assets/Sprites/Tilesets/InvisibleTracks.png" id="2_5cc87"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_4ie33"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Track.json" id="4_5cc87"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4k6gi"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_5xalo"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[node name="TrackPiece" type="Node2D"]
|
||||
physics_interpolation_mode = 2
|
||||
script = ExtResource("1_t2c2l")
|
||||
|
||||
[node name="Start" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("2_5cc87")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(64, 16, 16, 16)
|
||||
region_filter_clip_enabled = true
|
||||
|
||||
[node name="Connect" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("2_5cc87")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(64, 16, 16, 16)
|
||||
region_filter_clip_enabled = true
|
||||
|
||||
[node name="End" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("1_84p4k")
|
||||
hframes = 2
|
||||
frame = 1
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 16, 32, 16)
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_4k6gi")
|
||||
|
||||
[node name="PlacePreview" type="Node2D" parent="."]
|
||||
z_index = 1
|
||||
|
||||
[node name="NW" type="Sprite2D" parent="PlacePreview"]
|
||||
position = Vector2(-16, -16)
|
||||
texture = ExtResource("1_84p4k")
|
||||
hframes = 2
|
||||
region_enabled = true
|
||||
region_rect = Rect2(32, 16, 32, 16)
|
||||
|
||||
[node name="MouseArea" type="Area2D" parent="PlacePreview/NW"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="PlacePreview/NW/MouseArea"]
|
||||
shape = SubResource("RectangleShape2D_5xalo")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="PlacePreview/NW" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_4ie33")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_5cc87")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="N" type="Sprite2D" parent="PlacePreview"]
|
||||
position = Vector2(0, -16)
|
||||
texture = ExtResource("1_84p4k")
|
||||
hframes = 2
|
||||
region_enabled = true
|
||||
region_rect = Rect2(32, 16, 32, 16)
|
||||
|
||||
[node name="MouseArea" type="Area2D" parent="PlacePreview/N"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="PlacePreview/N/MouseArea"]
|
||||
shape = SubResource("RectangleShape2D_5xalo")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="PlacePreview/N" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_4ie33")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_5cc87")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="NE" type="Sprite2D" parent="PlacePreview"]
|
||||
position = Vector2(16, -16)
|
||||
texture = ExtResource("1_84p4k")
|
||||
hframes = 2
|
||||
region_enabled = true
|
||||
region_rect = Rect2(32, 16, 32, 16)
|
||||
|
||||
[node name="MouseArea" type="Area2D" parent="PlacePreview/NE"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="PlacePreview/NE/MouseArea"]
|
||||
shape = SubResource("RectangleShape2D_5xalo")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="PlacePreview/NE" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_4ie33")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_5cc87")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="E" type="Sprite2D" parent="PlacePreview"]
|
||||
position = Vector2(16, 0)
|
||||
texture = ExtResource("1_84p4k")
|
||||
hframes = 2
|
||||
region_enabled = true
|
||||
region_rect = Rect2(32, 16, 32, 16)
|
||||
|
||||
[node name="MouseArea" type="Area2D" parent="PlacePreview/E"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="PlacePreview/E/MouseArea"]
|
||||
shape = SubResource("RectangleShape2D_5xalo")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="PlacePreview/E" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_4ie33")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_5cc87")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="SE" type="Sprite2D" parent="PlacePreview"]
|
||||
position = Vector2(16, 16)
|
||||
texture = ExtResource("1_84p4k")
|
||||
hframes = 2
|
||||
region_enabled = true
|
||||
region_rect = Rect2(32, 16, 32, 16)
|
||||
|
||||
[node name="MouseArea" type="Area2D" parent="PlacePreview/SE"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="PlacePreview/SE/MouseArea"]
|
||||
shape = SubResource("RectangleShape2D_5xalo")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="PlacePreview/SE" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_4ie33")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_5cc87")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="S" type="Sprite2D" parent="PlacePreview"]
|
||||
position = Vector2(0, 16)
|
||||
texture = ExtResource("1_84p4k")
|
||||
hframes = 2
|
||||
region_enabled = true
|
||||
region_rect = Rect2(32, 16, 32, 16)
|
||||
|
||||
[node name="MouseArea" type="Area2D" parent="PlacePreview/S"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="PlacePreview/S/MouseArea"]
|
||||
shape = SubResource("RectangleShape2D_5xalo")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="PlacePreview/S" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_4ie33")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_5cc87")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="SW" type="Sprite2D" parent="PlacePreview"]
|
||||
position = Vector2(-16, 16)
|
||||
texture = ExtResource("1_84p4k")
|
||||
hframes = 2
|
||||
region_enabled = true
|
||||
region_rect = Rect2(32, 16, 32, 16)
|
||||
|
||||
[node name="MouseArea" type="Area2D" parent="PlacePreview/SW"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="PlacePreview/SW/MouseArea"]
|
||||
shape = SubResource("RectangleShape2D_5xalo")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="PlacePreview/SW" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_4ie33")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_5cc87")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="W" type="Sprite2D" parent="PlacePreview"]
|
||||
position = Vector2(-16, 0)
|
||||
texture = ExtResource("1_84p4k")
|
||||
hframes = 2
|
||||
region_enabled = true
|
||||
region_rect = Rect2(32, 16, 32, 16)
|
||||
|
||||
[node name="MouseArea" type="Area2D" parent="PlacePreview/W"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="PlacePreview/W/MouseArea"]
|
||||
shape = SubResource("RectangleShape2D_5xalo")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="PlacePreview/W" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_4ie33")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_5cc87")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[connection signal="mouse_entered" from="PlacePreview/NW/MouseArea" to="." method="on_mouse_entered"]
|
||||
[connection signal="mouse_exited" from="PlacePreview/NW/MouseArea" to="." method="on_mouse_exited"]
|
||||
[connection signal="mouse_entered" from="PlacePreview/N/MouseArea" to="." method="on_mouse_entered" binds= [1]]
|
||||
[connection signal="mouse_exited" from="PlacePreview/N/MouseArea" to="." method="on_mouse_exited" binds= [1]]
|
||||
[connection signal="mouse_entered" from="PlacePreview/NE/MouseArea" to="." method="on_mouse_entered" binds= [2]]
|
||||
[connection signal="mouse_exited" from="PlacePreview/NE/MouseArea" to="." method="on_mouse_exited" binds= [2]]
|
||||
[connection signal="mouse_entered" from="PlacePreview/E/MouseArea" to="." method="on_mouse_entered" binds= [3]]
|
||||
[connection signal="mouse_exited" from="PlacePreview/E/MouseArea" to="." method="on_mouse_exited" binds= [3]]
|
||||
[connection signal="mouse_entered" from="PlacePreview/SE/MouseArea" to="." method="on_mouse_entered" binds= [4]]
|
||||
[connection signal="mouse_exited" from="PlacePreview/SE/MouseArea" to="." method="on_mouse_exited" binds= [4]]
|
||||
[connection signal="mouse_entered" from="PlacePreview/S/MouseArea" to="." method="on_mouse_entered" binds= [5]]
|
||||
[connection signal="mouse_exited" from="PlacePreview/S/MouseArea" to="." method="on_mouse_exited" binds= [5]]
|
||||
[connection signal="mouse_entered" from="PlacePreview/SW/MouseArea" to="." method="on_mouse_entered" binds= [6]]
|
||||
[connection signal="mouse_exited" from="PlacePreview/SW/MouseArea" to="." method="on_mouse_exited" binds= [6]]
|
||||
[connection signal="mouse_entered" from="PlacePreview/W/MouseArea" to="." method="on_mouse_entered" binds= [7]]
|
||||
[connection signal="mouse_exited" from="PlacePreview/W/MouseArea" to="." method="on_mouse_exited" binds= [7]]
|
41
Scenes/Prefabs/Entities/Objects/TrackRider.tscn
Normal file
41
Scenes/Prefabs/Entities/Objects/TrackRider.tscn
Normal file
@@ -0,0 +1,41 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://dvmr3r2uub283"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="1_n5i2x"]
|
||||
[ext_resource type="Script" uid="uid://dg16ltpjq1r4r" path="res://Scripts/Classes/Entities/Objects/TrackRider.gd" id="1_xlgar"]
|
||||
[ext_resource type="Texture2D" uid="uid://dtrgyp1sjp568" path="res://Assets/Sprites/Editor/TrackRider.png" id="2_qkkla"]
|
||||
[ext_resource type="Script" uid="uid://b8vmbtoaaq5nc" path="res://Scripts/Parts/EditorToggleDetection.gd" id="4_yiejl"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="5_yiejl"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xlgar"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[node name="TrackRider" type="Node2D"]
|
||||
z_index = -1
|
||||
script = ExtResource("1_xlgar")
|
||||
|
||||
[node name="LevelEditorVisibleNode" type="Node2D" parent="."]
|
||||
script = ExtResource("1_n5i2x")
|
||||
metadata/_custom_type_script = "uid://cpwloakvp672a"
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="LevelEditorVisibleNode"]
|
||||
texture = ExtResource("2_qkkla")
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_mask = 61
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_xlgar")
|
||||
|
||||
[node name="LevelEditorToggleDetection" type="Node" parent="."]
|
||||
script = ExtResource("4_yiejl")
|
||||
metadata/_custom_type_script = "uid://b8vmbtoaaq5nc"
|
||||
|
||||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("5_yiejl")
|
||||
properties = Array[String](["speed", "direction"])
|
||||
metadata/_custom_type_script = "uid://ctfbuoxtnnl0q"
|
||||
|
||||
[node name="Joint" type="Node2D" parent="."]
|
||||
z_as_relative = false
|
||||
|
||||
[connection signal="toggled" from="LevelEditorToggleDetection" to="." method="start"]
|
162
Scenes/Prefabs/Entities/Objects/Trampoline.tscn
Normal file
162
Scenes/Prefabs/Entities/Objects/Trampoline.tscn
Normal file
@@ -0,0 +1,162 @@
|
||||
[gd_scene load_steps=15 format=3 uid="uid://cdrgm3154qxxy"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://fy7jlabgyewp" path="res://Assets/Sprites/Blocks/Trampoline.png" id="1_83ba8"]
|
||||
[ext_resource type="Script" uid="uid://bof8ieprith1d" path="res://Scripts/Classes/Entities/Objects/Trampoline.gd" id="1_bwrr1"]
|
||||
[ext_resource type="Texture2D" uid="uid://dt0qtxu2l646n" path="res://Assets/Sprites/Tilesets/Terrain/Overworld.png" id="3_tlr0c"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_363uu"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Terrain/TerrainTiles.json" id="5_b27qj"]
|
||||
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="6_tlr0c"]
|
||||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="7_1knp2"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_uu5rp"]
|
||||
script = ExtResource("7_1knp2")
|
||||
Overworld = ExtResource("1_83ba8")
|
||||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_bwrr1"]
|
||||
size = Vector2(16, 23.5)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_butnk"]
|
||||
size = Vector2(14, 28)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_cot4p"]
|
||||
resource_name = "Bounce"
|
||||
length = 0.2
|
||||
step = 0.05
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:frame")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.15, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [1, 2, 1, 0]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("PlayerCollision:position")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, -11), Vector2(0, -3), Vector2(0, -19)]
|
||||
}
|
||||
tracks/2/type = "method"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath(".")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0.15),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"bounce_players"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_363uu"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("PlayerCollision:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, -19)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_b27qj"]
|
||||
_data = {
|
||||
&"Bounce": SubResource("Animation_cot4p"),
|
||||
&"RESET": SubResource("Animation_363uu")
|
||||
}
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_363uu"]
|
||||
size = Vector2(16, 7)
|
||||
|
||||
[node name="Trampoline" type="AnimatableBody2D"]
|
||||
collision_layer = 3
|
||||
collision_mask = 0
|
||||
script = ExtResource("1_bwrr1")
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
position = Vector2(0, -16)
|
||||
texture = ExtResource("1_83ba8")
|
||||
hframes = 3
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 48, 32)
|
||||
|
||||
[node name="Brick" type="Sprite2D" parent="Sprite"]
|
||||
show_behind_parent = true
|
||||
position = Vector2(0, 12)
|
||||
texture = ExtResource("3_tlr0c")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 72, 16, 8)
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite/Brick" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_363uu")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("5_b27qj")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("6_tlr0c")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
themed_resource = SubResource("Resource_uu5rp")
|
||||
metadata/_custom_type_script = "uid://cq6f682453q6o"
|
||||
|
||||
[node name="PlayerCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -19)
|
||||
shape = SubResource("RectangleShape2D_bwrr1")
|
||||
|
||||
[node name="PlayerJoint" type="Node2D" parent="PlayerCollision"]
|
||||
position = Vector2(0, -12)
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -22)
|
||||
shape = SubResource("RectangleShape2D_butnk")
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_b27qj")
|
||||
}
|
||||
|
||||
[node name="Base" type="StaticBody2D" parent="."]
|
||||
collision_layer = 3
|
||||
collision_mask = 0
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Base"]
|
||||
position = Vector2(0, -3.5)
|
||||
shape = SubResource("RectangleShape2D_363uu")
|
||||
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="area_exited" from="Hitbox" to="." method="on_area_exited"]
|
23
Scenes/Prefabs/Entities/Objects/TravellingPlatform.tscn
Normal file
23
Scenes/Prefabs/Entities/Objects/TravellingPlatform.tscn
Normal file
@@ -0,0 +1,23 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://boce75y04igqf"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bvwo8snk5ixaa" path="res://Scenes/Prefabs/LevelObjects/CloudPlatform.tscn" id="1_dv323"]
|
||||
[ext_resource type="Texture2D" uid="uid://bk0p52ttwojml" path="res://Assets/Sprites/Tilesets/Platform.png" id="2_c263f"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kdp6m"]
|
||||
size = Vector2(32, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ch841"]
|
||||
size = Vector2(32, 8)
|
||||
|
||||
[node name="CloudPlatform" instance=ExtResource("1_dv323")]
|
||||
|
||||
[node name="Sprite" parent="." index="0"]
|
||||
offset_left = -16.0
|
||||
offset_right = 16.0
|
||||
texture = ExtResource("2_c263f")
|
||||
|
||||
[node name="Collision" parent="." index="1"]
|
||||
shape = SubResource("RectangleShape2D_kdp6m")
|
||||
|
||||
[node name="CollisionShape2D" parent="PlayerDetection" index="0"]
|
||||
shape = SubResource("RectangleShape2D_ch841")
|
98
Scenes/Prefabs/Entities/Objects/VerticalPlatform.tscn
Normal file
98
Scenes/Prefabs/Entities/Objects/VerticalPlatform.tscn
Normal file
@@ -0,0 +1,98 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://c6x7gv2lqeu1x"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bk0p52ttwojml" path="res://Assets/Sprites/Tilesets/Platform.png" id="1_sh7r3"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_sxeqe"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Platform.json" id="3_35mwj"]
|
||||
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="4_2ywm4"]
|
||||
[ext_resource type="Texture2D" uid="uid://dpdrrkqtcedgm" path="res://Assets/Sprites/Tilesets/DottedLine.png" id="5_fity7"]
|
||||
[ext_resource type="Script" uid="uid://d0mqkvopasu8k" path="res://Scripts/Classes/Components/SecondQuestReplaceComponent.gd" id="6_fity7"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mq7me"]
|
||||
size = Vector2(48, 8)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lvvvw"]
|
||||
resource_name = "Move"
|
||||
length = 3.0
|
||||
loop_mode = 2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("AnimatableBody2D:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0), Vector2(0, 128)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_7kqku"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("AnimatableBody2D: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_kqk52"]
|
||||
_data = {
|
||||
&"Move": SubResource("Animation_lvvvw"),
|
||||
&"RESET": SubResource("Animation_7kqku")
|
||||
}
|
||||
|
||||
[node name="SidewaysPlatform" type="Node2D"]
|
||||
|
||||
[node name="AnimatableBody2D" type="AnimatableBody2D" parent="."]
|
||||
|
||||
[node name="Sprite" type="NinePatchRect" parent="AnimatableBody2D"]
|
||||
texture_repeat = 2
|
||||
offset_left = -24.0
|
||||
offset_right = 24.0
|
||||
offset_bottom = 8.0
|
||||
texture = ExtResource("1_sh7r3")
|
||||
patch_margin_left = 8
|
||||
patch_margin_right = 8
|
||||
axis_stretch_horizontal = 1
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="AnimatableBody2D/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("2_sxeqe")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("3_35mwj")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="AnimatableBody2D"]
|
||||
position = Vector2(0, 4)
|
||||
shape = SubResource("RectangleShape2D_mq7me")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_kqk52")
|
||||
}
|
||||
autoplay = "Move"
|
||||
|
||||
[node name="LevelEditorVisibleNode" type="Node2D" parent="."]
|
||||
visibility_layer = 2
|
||||
script = ExtResource("4_2ywm4")
|
||||
metadata/_custom_type_script = "uid://cpwloakvp672a"
|
||||
|
||||
[node name="Line2D" type="Line2D" parent="LevelEditorVisibleNode"]
|
||||
texture_repeat = 2
|
||||
points = PackedVector2Array(0, 128, 0, 0)
|
||||
width = 1.0
|
||||
texture = ExtResource("5_fity7")
|
||||
texture_mode = 1
|
||||
|
||||
[node name="SecondQuestReplacer" type="Node" parent="."]
|
||||
script = ExtResource("6_fity7")
|
||||
new_scene = "uid://cjkmd2yf3f84v"
|
||||
metadata/_custom_type_script = "uid://d0mqkvopasu8k"
|
104
Scenes/Prefabs/Entities/Objects/WrenchProjectile.tscn
Normal file
104
Scenes/Prefabs/Entities/Objects/WrenchProjectile.tscn
Normal file
@@ -0,0 +1,104 @@
|
||||
[gd_scene load_steps=14 format=3 uid="uid://p42vcj0qmhxl"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cop8x5m20cqal" path="res://Assets/Sprites/Items/WrenchProjectile.png" id="1_bh1cs"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_wtsxo"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_7wlxe"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_tfqn5"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/WrenchProjectile.json" id="4_5s4r1"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="4_7wlxe"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_5s4r1"]
|
||||
script/source = "extends Node2D
|
||||
|
||||
var direction := -1
|
||||
|
||||
const MOVE_SPEED := 80
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
$Sprite.flip_h = direction == 1
|
||||
global_position.x += MOVE_SPEED * direction * delta
|
||||
|
||||
func damage_player(player: Player) -> void:
|
||||
player.damage()
|
||||
"
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bn4i0"]
|
||||
atlas = ExtResource("1_bh1cs")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ytcl6"]
|
||||
atlas = ExtResource("1_bh1cs")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tf2mk"]
|
||||
atlas = ExtResource("1_bh1cs")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nfd5u"]
|
||||
atlas = ExtResource("1_bh1cs")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_4d740"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bn4i0")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ytcl6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tf2mk")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nfd5u")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Spin",
|
||||
"speed": 15.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_srvot"]
|
||||
radius = 2.0
|
||||
|
||||
[node name="WrenchProjectile" type="Node2D"]
|
||||
script = SubResource("GDScript_5s4r1")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_4d740")
|
||||
animation = &"Spin"
|
||||
autoplay = "Spin"
|
||||
frame_progress = 0.89535326
|
||||
script = ExtResource("2_wtsxo")
|
||||
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_7wlxe")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_5s4r1")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="PlayerDetection" type="Area2D" parent="."]
|
||||
script = ExtResource("3_tfqn5")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
|
||||
shape = SubResource("CircleShape2D_srvot")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("4_7wlxe")
|
||||
hitbox = NodePath("../PlayerDetection")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="screen_exited" from="VisibleOnScreenEnabler2D" to="." method="queue_free"]
|
Reference in New Issue
Block a user