mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-21 23:18:11 +00:00
added the game
This commit is contained in:
123
Scenes/Prefabs/Entities/Enemies/Barrel.tscn
Normal file
123
Scenes/Prefabs/Entities/Enemies/Barrel.tscn
Normal file
@@ -0,0 +1,123 @@
|
||||
[gd_scene load_steps=18 format=3 uid="uid://byu7xm153ktle"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dkg8usmlrm1d3" path="res://Scripts/Classes/Entities/Enemies/Barrel.gd" id="1_dkmpo"]
|
||||
[ext_resource type="Texture2D" uid="uid://t6lvjxubql7l" path="res://Assets/Sprites/Enemies/Barrel.png" id="2_dkmpo"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_7nplu"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="4_8jya4"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_m378g"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="4_ynq8o"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Barrel.json" id="5_momh1"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="8_m378g"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="9_momh1"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="10_fyuy0"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="11_y4k56"]
|
||||
[ext_resource type="Script" uid="uid://dkjpfs3sm3go3" path="res://Scripts/Classes/Components/BlockHitter.gd" id="12_d7wml"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fyuy0"]
|
||||
atlas = ExtResource("2_dkmpo")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_y4k56"]
|
||||
atlas = ExtResource("2_dkmpo")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_d7wml"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fyuy0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_y4k56")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 15.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7nplu"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_m378g"]
|
||||
size = Vector2(9, 8)
|
||||
|
||||
[node name="Barrel" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 18
|
||||
floor_constant_speed = true
|
||||
floor_max_angle = 1.55334
|
||||
floor_snap_length = 4.0
|
||||
script = ExtResource("1_dkmpo")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_d7wml")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.16310313
|
||||
script = ExtResource("3_7nplu")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_m378g")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_momh1")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("RectangleShape2D_7nplu")
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_mask = 5
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(-0.5, -8)
|
||||
shape = SubResource("RectangleShape2D_m378g")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("4_ynq8o")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="."]
|
||||
script = ExtResource("4_8jya4")
|
||||
metadata/_custom_type_script = "uid://dlq6o2rg1x7in"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("8_m378g")
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("9_momh1")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://ba18grqjixded"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("10_fyuy0")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="."]
|
||||
script = ExtResource("11_y4k56")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="BlockHitter" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("12_d7wml")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
||||
[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="destroy" unbinds=1]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="bounce_up" unbinds=1]
|
113
Scenes/Prefabs/Entities/Enemies/Blooper.tscn
Normal file
113
Scenes/Prefabs/Entities/Enemies/Blooper.tscn
Normal file
@@ -0,0 +1,113 @@
|
||||
[gd_scene load_steps=16 format=3 uid="uid://b6drci0vml1as"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://coocdv3t4548x" path="res://Scripts/Classes/Entities/Enemies/Blooper.gd" id="1_qryyi"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_6d25s"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_vrg07"]
|
||||
[ext_resource type="Texture2D" uid="uid://c25807pd3b6fh" path="res://Assets/Sprites/Enemies/Blooper.png" id="3_xxfro"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="4_n7b35"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Blooper.json" id="4_vrg07"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="5_aukyh"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_mpdyb"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="7_mpdyb"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="10_e03yh"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="11_2xaie"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_aukyh"]
|
||||
atlas = ExtResource("3_xxfro")
|
||||
region = Rect2(16, 0, 16, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mpdyb"]
|
||||
atlas = ExtResource("3_xxfro")
|
||||
region = Rect2(0, 0, 16, 24)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_6d25s"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_aukyh")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Fall",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mpdyb")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Rise",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_qryyi"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[node name="Blooper" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
script = ExtResource("1_qryyi")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_6d25s")
|
||||
animation = &"Rise"
|
||||
autoplay = "Fall"
|
||||
script = ExtResource("3_vrg07")
|
||||
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_6d25s")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_vrg07")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
position = Vector2(0, 4)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -5)
|
||||
shape = SubResource("RectangleShape2D_qryyi")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("4_n7b35")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_aukyh")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("6_mpdyb")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("7_mpdyb")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="."]
|
||||
script = ExtResource("10_e03yh")
|
||||
offset = Vector2(0, 0)
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("11_2xaie")
|
||||
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="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"]
|
||||
[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="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
201
Scenes/Prefabs/Entities/Enemies/BobOmb.tscn
Normal file
201
Scenes/Prefabs/Entities/Enemies/BobOmb.tscn
Normal file
@@ -0,0 +1,201 @@
|
||||
[gd_scene load_steps=26 format=3 uid="uid://b07v70sioegsj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://br4ltfynb4eqr" path="res://Scripts/Classes/Entities/Enemies/BobOmb.gd" id="1_v5mno"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7g10h3o7nevn" path="res://Assets/Sprites/Enemies/BobOmb.png" id="2_3rlau"]
|
||||
[ext_resource type="PackedScene" uid="uid://d075e1520ngrv" path="res://Scenes/Prefabs/Entities/Objects/BobOmbHeld.tscn" id="2_fur3j"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_b6iml"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_6tynh"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="4_afkce"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="5_vjas1"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/BobOmb.json" id="5_xehcv"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="6_v5mno"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="7_rol8r"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="8_6tynh"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="9_v5mno"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="12_xehcv"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="14_5kc73"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="15_d14db"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vjas1"]
|
||||
atlas = ExtResource("2_3rlau")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_v5mno"]
|
||||
atlas = ExtResource("2_3rlau")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rol8r"]
|
||||
atlas = ExtResource("2_3rlau")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fur3j"]
|
||||
atlas = ExtResource("2_3rlau")
|
||||
region = Rect2(64, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5kc73"]
|
||||
atlas = ExtResource("2_3rlau")
|
||||
region = Rect2(80, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6tynh"]
|
||||
atlas = ExtResource("2_3rlau")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xehcv"]
|
||||
atlas = ExtResource("2_3rlau")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_fur3j"]
|
||||
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_fur3j")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5kc73")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"LitWalk",
|
||||
"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="RectangleShape2D" id="RectangleShape2D_5kc73"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_d14db"]
|
||||
size = Vector2(12, 14)
|
||||
|
||||
[node name="BobOmb" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 54
|
||||
script = ExtResource("1_v5mno")
|
||||
held_scene = ExtResource("2_fur3j")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_fur3j")
|
||||
animation = &"Walk"
|
||||
autoplay = "Walk"
|
||||
offset = Vector2(-1, 1)
|
||||
flip_h = true
|
||||
script = ExtResource("3_b6iml")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_6tynh")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_xehcv")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="LCollision" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -4)
|
||||
rotation = -1.5708
|
||||
shape = SubResource("RectangleShape2D_5kc73")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="RCollision" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -4)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("RectangleShape2D_5kc73")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_mask = 7
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -5)
|
||||
shape = SubResource("RectangleShape2D_d14db")
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("4_afkce")
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_vjas1")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("6_v5mno")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_rol8r")
|
||||
detection_type = 1
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("8_6tynh")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("9_v5mno")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("12_xehcv")
|
||||
visuals = NodePath("../Sprite")
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="." node_paths=PackedStringArray("movement_node")]
|
||||
script = ExtResource("14_5kc73")
|
||||
movement_node = NodePath("../BasicEnemyMovement")
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("15_d14db")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://ba18grqjixded"
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="." method="fireball_hit"]
|
||||
[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="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="stomped_on"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="fireball_hit"]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
78
Scenes/Prefabs/Entities/Enemies/Boo.tscn
Normal file
78
Scenes/Prefabs/Entities/Enemies/Boo.tscn
Normal file
@@ -0,0 +1,78 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://bpsrc21amnlgb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bbp3jg7yg1700" path="res://Scripts/Classes/Entities/Enemies/Boo.gd" id="1_ilcde"]
|
||||
[ext_resource type="Texture2D" uid="uid://c3l6ynlufxcfp" path="res://Assets/Sprites/Enemies/Boo.png" id="1_mkqqf"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_ilcde"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Boo.json" id="3_xhmhl"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="5_xhmhl"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="6_7u2yg"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wu7y3"]
|
||||
atlas = ExtResource("1_mkqqf")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7u2yg"]
|
||||
atlas = ExtResource("1_mkqqf")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_i46bk"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wu7y3")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Move",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7u2yg")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"WhiteIdle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ilcde"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[node name="Boo" type="Node2D" groups=["Enemies"]]
|
||||
script = ExtResource("1_ilcde")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_i46bk")
|
||||
animation = &"WhiteIdle"
|
||||
flip_h = true
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("2_ilcde")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("3_xhmhl")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_ilcde")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("5_xhmhl")
|
||||
add_score = true
|
||||
play_sfx = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="."]
|
||||
script = ExtResource("6_7u2yg")
|
||||
disable_physics = false
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [1000]]
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
392
Scenes/Prefabs/Entities/Enemies/BooBuddies.tscn
Normal file
392
Scenes/Prefabs/Entities/Enemies/BooBuddies.tscn
Normal file
@@ -0,0 +1,392 @@
|
||||
[gd_scene load_steps=16 format=3 uid="uid://coasuq2vsmlce"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c3l6ynlufxcfp" path="res://Assets/Sprites/Enemies/Boo.png" id="1_bek6j"]
|
||||
[ext_resource type="Script" uid="uid://djdtghrjbpv2i" path="res://Scripts/Classes/Entities/Enemies/BooBuddies.gd" id="1_vavt3"]
|
||||
[ext_resource type="Texture2D" uid="uid://dsncqqhfsnq6s" path="res://Assets/Sprites/Editor/RotationIcon.png" id="2_1eh5v"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_vavt3"]
|
||||
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="3_5b8ig"]
|
||||
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="4_4rg7w"]
|
||||
[ext_resource type="Resource" uid="uid://c8ojbqg4q4qh6" path="res://Resources/ThemedResources/EditorRotationIcon.tres" id="5_4rg7w"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="6_5b8ig"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="8_ifdhg"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/BooBuddy.json" id="9_ifdhg"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7u2yg"]
|
||||
atlas = ExtResource("1_bek6j")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wu7y3"]
|
||||
atlas = ExtResource("1_bek6j")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_8qb0a"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7u2yg")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Hide",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wu7y3")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"WhiteMove",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1eh5v"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_vavt3"]
|
||||
script/source = "extends Node
|
||||
|
||||
var length := 80
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
var idx := 0
|
||||
var spread = 30
|
||||
length = owner.length
|
||||
%RotationJoint.flip_h = owner.direction == 1
|
||||
if owner.spread_boos:
|
||||
spread = (360 / owner.boo_amount)
|
||||
for i in %Boos.get_children():
|
||||
i.show()
|
||||
if idx < owner.boo_amount:
|
||||
i.global_position = owner.global_position + Vector2.from_angle(deg_to_rad(%RotationJoint.global_rotation_degrees + (spread * idx))).normalized() * length
|
||||
else:
|
||||
i.global_position = Vector2(-999, 999)
|
||||
idx += 1
|
||||
"
|
||||
|
||||
[node name="BooBuddies" type="Node2D" groups=["Enemies"]]
|
||||
script = ExtResource("1_vavt3")
|
||||
|
||||
[node name="RotationJoint" type="Sprite2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
z_index = 50
|
||||
z_as_relative = false
|
||||
texture = ExtResource("2_1eh5v")
|
||||
script = ExtResource("3_5b8ig")
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="RotationJoint" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_4rg7w")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
themed_resource = ExtResource("5_4rg7w")
|
||||
metadata/_custom_type_script = "uid://cq6f682453q6o"
|
||||
|
||||
[node name="Boos" type="Node2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Boo1" type="Node2D" parent="Boos"]
|
||||
visible = false
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Boos/Boo1"]
|
||||
sprite_frames = SubResource("SpriteFrames_8qb0a")
|
||||
animation = &"WhiteMove"
|
||||
autoplay = "WhiteMove"
|
||||
flip_h = true
|
||||
script = ExtResource("2_vavt3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Boos/Boo1/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("8_ifdhg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_ifdhg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Boos/Boo1"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo1/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_1eh5v")
|
||||
|
||||
[node name="Boo2" type="Node2D" parent="Boos"]
|
||||
visible = false
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Boos/Boo2"]
|
||||
sprite_frames = SubResource("SpriteFrames_8qb0a")
|
||||
animation = &"WhiteMove"
|
||||
autoplay = "WhiteMove"
|
||||
flip_h = true
|
||||
script = ExtResource("2_vavt3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Boos/Boo2/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("8_ifdhg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_ifdhg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Boos/Boo2"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo2/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_1eh5v")
|
||||
|
||||
[node name="Boo3" type="Node2D" parent="Boos"]
|
||||
visible = false
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Boos/Boo3"]
|
||||
sprite_frames = SubResource("SpriteFrames_8qb0a")
|
||||
animation = &"WhiteMove"
|
||||
autoplay = "WhiteMove"
|
||||
flip_h = true
|
||||
script = ExtResource("2_vavt3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Boos/Boo3/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("8_ifdhg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_ifdhg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Boos/Boo3"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo3/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_1eh5v")
|
||||
|
||||
[node name="Boo4" type="Node2D" parent="Boos"]
|
||||
visible = false
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Boos/Boo4"]
|
||||
sprite_frames = SubResource("SpriteFrames_8qb0a")
|
||||
animation = &"WhiteMove"
|
||||
autoplay = "WhiteMove"
|
||||
flip_h = true
|
||||
script = ExtResource("2_vavt3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Boos/Boo4/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("8_ifdhg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_ifdhg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Boos/Boo4"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo4/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_1eh5v")
|
||||
|
||||
[node name="Boo5" type="Node2D" parent="Boos"]
|
||||
visible = false
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Boos/Boo5"]
|
||||
sprite_frames = SubResource("SpriteFrames_8qb0a")
|
||||
animation = &"WhiteMove"
|
||||
autoplay = "WhiteMove"
|
||||
flip_h = true
|
||||
script = ExtResource("2_vavt3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Boos/Boo5/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("8_ifdhg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_ifdhg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Boos/Boo5"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo5/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_1eh5v")
|
||||
|
||||
[node name="Boo6" type="Node2D" parent="Boos"]
|
||||
visible = false
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Boos/Boo6"]
|
||||
sprite_frames = SubResource("SpriteFrames_8qb0a")
|
||||
animation = &"WhiteMove"
|
||||
autoplay = "WhiteMove"
|
||||
flip_h = true
|
||||
script = ExtResource("2_vavt3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Boos/Boo6/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("8_ifdhg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_ifdhg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Boos/Boo6"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo6/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_1eh5v")
|
||||
|
||||
[node name="Boo7" type="Node2D" parent="Boos"]
|
||||
visible = false
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Boos/Boo7"]
|
||||
sprite_frames = SubResource("SpriteFrames_8qb0a")
|
||||
animation = &"WhiteMove"
|
||||
autoplay = "WhiteMove"
|
||||
flip_h = true
|
||||
script = ExtResource("2_vavt3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Boos/Boo7/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("8_ifdhg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_ifdhg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Boos/Boo7"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo7/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_1eh5v")
|
||||
|
||||
[node name="Boo8" type="Node2D" parent="Boos"]
|
||||
visible = false
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Boos/Boo8"]
|
||||
sprite_frames = SubResource("SpriteFrames_8qb0a")
|
||||
animation = &"WhiteMove"
|
||||
autoplay = "WhiteMove"
|
||||
flip_h = true
|
||||
script = ExtResource("2_vavt3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Boos/Boo8/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("8_ifdhg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_ifdhg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Boos/Boo8"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo8/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_1eh5v")
|
||||
|
||||
[node name="Boo9" type="Node2D" parent="Boos"]
|
||||
visible = false
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Boos/Boo9"]
|
||||
sprite_frames = SubResource("SpriteFrames_8qb0a")
|
||||
animation = &"WhiteMove"
|
||||
autoplay = "WhiteMove"
|
||||
flip_h = true
|
||||
script = ExtResource("2_vavt3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Boos/Boo9/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("8_ifdhg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_ifdhg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Boos/Boo9"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo9/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_1eh5v")
|
||||
|
||||
[node name="Boo10" type="Node2D" parent="Boos"]
|
||||
visible = false
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Boos/Boo10"]
|
||||
sprite_frames = SubResource("SpriteFrames_8qb0a")
|
||||
animation = &"WhiteMove"
|
||||
autoplay = "WhiteMove"
|
||||
flip_h = true
|
||||
script = ExtResource("2_vavt3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Boos/Boo10/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("8_ifdhg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_ifdhg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Boos/Boo10"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo10/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_1eh5v")
|
||||
|
||||
[node name="Boo11" type="Node2D" parent="Boos"]
|
||||
visible = false
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Boos/Boo11"]
|
||||
sprite_frames = SubResource("SpriteFrames_8qb0a")
|
||||
animation = &"WhiteMove"
|
||||
autoplay = "WhiteMove"
|
||||
flip_h = true
|
||||
script = ExtResource("2_vavt3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Boos/Boo11/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("8_ifdhg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_ifdhg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Boos/Boo11"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo11/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_1eh5v")
|
||||
|
||||
[node name="Boo12" type="Node2D" parent="Boos"]
|
||||
visible = false
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Boos/Boo12"]
|
||||
sprite_frames = SubResource("SpriteFrames_8qb0a")
|
||||
animation = &"WhiteMove"
|
||||
autoplay = "WhiteMove"
|
||||
flip_h = true
|
||||
script = ExtResource("2_vavt3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Boos/Boo12/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("8_ifdhg")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_ifdhg")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Boos/Boo12"]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo12/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_1eh5v")
|
||||
|
||||
[node name="BooPositioner" type="Node" parent="."]
|
||||
process_mode = 3
|
||||
script = SubResource("GDScript_vavt3")
|
||||
|
||||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("6_5b8ig")
|
||||
properties = Array[String](["length", "direction", "boo_amount", "spread_boos"])
|
||||
|
||||
[connection signal="area_entered" from="Boos/Boo1/Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="area_entered" from="Boos/Boo2/Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="area_entered" from="Boos/Boo3/Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="area_entered" from="Boos/Boo4/Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="area_entered" from="Boos/Boo5/Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="area_entered" from="Boos/Boo6/Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="area_entered" from="Boos/Boo7/Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="area_entered" from="Boos/Boo8/Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="area_entered" from="Boos/Boo9/Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="area_entered" from="Boos/Boo10/Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="area_entered" from="Boos/Boo11/Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="area_entered" from="Boos/Boo12/Hitbox" to="." method="on_area_entered"]
|
420
Scenes/Prefabs/Entities/Enemies/Bowser.tscn
Normal file
420
Scenes/Prefabs/Entities/Enemies/Bowser.tscn
Normal file
@@ -0,0 +1,420 @@
|
||||
[gd_scene load_steps=41 format=3 uid="uid://duptcik2j0b04"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://d3sxabber73q6" path="res://Assets/Sprites/Enemies/Bowser.png" id="1_8mi7o"]
|
||||
[ext_resource type="Script" uid="uid://wtypg4d0l6j2" path="res://Scripts/Classes/Entities/Enemies/Bowser.gd" id="1_ma5fd"]
|
||||
[ext_resource type="AudioStream" uid="uid://cssh58oe85in8" path="res://Assets/Audio/SFX/BowserFall.wav" id="3_mliv7"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="4_2qn7a"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="4_kfwlq"]
|
||||
[ext_resource type="Texture2D" uid="uid://3xmhfi556p3s" path="res://Assets/Sprites/Items/Hammer.png" id="4_vubm2"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="5_17x2r"]
|
||||
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="5_v5oyl"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Bowser.json" id="6_nf6hu"]
|
||||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="6_pvhfi"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_va0n6"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Goomba.json" id="9_exf4b"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="11_pvhfi"]
|
||||
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="14_nf6hu"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="15_nf6hu"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Hammer.json" id="15_yggkc"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="17_5b235"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="19_ymlbw"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="20_ckuah"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="21_mcog5"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6fvct"]
|
||||
atlas = ExtResource("1_8mi7o")
|
||||
region = Rect2(0, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_17x2r"]
|
||||
atlas = ExtResource("1_8mi7o")
|
||||
region = Rect2(0, 48, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nf6hu"]
|
||||
atlas = ExtResource("1_8mi7o")
|
||||
region = Rect2(0, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_exf4b"]
|
||||
atlas = ExtResource("1_8mi7o")
|
||||
region = Rect2(48, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5b235"]
|
||||
atlas = ExtResource("1_8mi7o")
|
||||
region = Rect2(0, 48, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yggkc"]
|
||||
atlas = ExtResource("1_8mi7o")
|
||||
region = Rect2(48, 48, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ymlbw"]
|
||||
atlas = ExtResource("1_8mi7o")
|
||||
region = Rect2(0, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ckuah"]
|
||||
atlas = ExtResource("1_8mi7o")
|
||||
region = Rect2(48, 0, 48, 48)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_mcog5"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6fvct")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_17x2r")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Fall",
|
||||
"speed": 15.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nf6hu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_exf4b")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"FireBreathe",
|
||||
"speed": 10.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5b235")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_yggkc")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"FireCharge",
|
||||
"speed": 10.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ymlbw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ckuah")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 15.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ma5fd"]
|
||||
size = Vector2(20, 24)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_pvhfi"]
|
||||
resource_name = "Hurt"
|
||||
length = 0.2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("SpriteScaleJoint: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.2, 1.2), Vector2(1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("SpriteScaleJoint/Sprite/ColorRect:self_modulate")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2qn7a"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("SpriteScaleJoint: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("SpriteScaleJoint/Sprite/ColorRect:self_modulate")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6fvct"]
|
||||
_data = {
|
||||
&"Hurt": SubResource("Animation_pvhfi"),
|
||||
&"RESET": SubResource("Animation_2qn7a")
|
||||
}
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_ckuah"]
|
||||
animations = [{
|
||||
"frames": [],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_va0n6"]
|
||||
size = Vector2(16, 18)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vubm2"]
|
||||
resource_name = "Move"
|
||||
length = 1.5
|
||||
loop_mode = 2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("SpriteScaleJoint:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(-8, -13), Vector2(8, -13)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vgx23"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("SpriteScaleJoint:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(-8, -13)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_v5oyl"]
|
||||
_data = {
|
||||
&"Move": SubResource("Animation_vubm2"),
|
||||
&"RESET": SubResource("Animation_vgx23")
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_5b235"]
|
||||
script = ExtResource("6_pvhfi")
|
||||
Overworld = ExtResource("3_mliv7")
|
||||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_exf4b"]
|
||||
script = ExtResource("6_pvhfi")
|
||||
Overworld = SubResource("SpriteFrames_mcog5")
|
||||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||||
|
||||
[node name="Bowser" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Bowser", "Enemies"]]
|
||||
z_index = 1
|
||||
collision_layer = 16
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_ma5fd")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/block_launch_velocity = -50.0
|
||||
|
||||
[node name="SpriteScaleJoint" type="Node2D" parent="."]
|
||||
position = Vector2(-8, -13)
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="SpriteScaleJoint"]
|
||||
clip_children = 2
|
||||
position = Vector2(0, -11)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_mcog5")
|
||||
animation = &"Idle"
|
||||
autoplay = "Idle"
|
||||
frame_progress = 0.687669
|
||||
offset = Vector2(0, 1)
|
||||
flip_h = true
|
||||
script = ExtResource("4_2qn7a")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="SpriteScaleJoint/Sprite"]
|
||||
position = Vector2(0, 24)
|
||||
rotation = 3.14159
|
||||
scale = Vector2(1, -1)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="SpriteScaleJoint/Sprite/Hitbox"]
|
||||
visible = false
|
||||
position = Vector2(0, -12)
|
||||
shape = SubResource("RectangleShape2D_ma5fd")
|
||||
|
||||
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="SpriteScaleJoint/Sprite"]
|
||||
position = Vector2(8, -8)
|
||||
rotation = 3.14159
|
||||
scale = Vector2(1, -1)
|
||||
remote_path = NodePath("../../../Hammer")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="SpriteScaleJoint/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("5_17x2r")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("6_nf6hu")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="SpriteScaleJoint/Sprite"]
|
||||
modulate = Color(1, 1, 1, 0.552941)
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
offset_left = -35.1663
|
||||
offset_top = -22.0
|
||||
offset_right = 28.8337
|
||||
offset_bottom = 42.0
|
||||
color = Color(1, 0, 0, 1)
|
||||
|
||||
[node name="HurtAnimation" type="AnimationPlayer" parent="SpriteScaleJoint"]
|
||||
root_node = NodePath("../..")
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_6fvct")
|
||||
}
|
||||
|
||||
[node name="DeathSprite" type="AnimatedSprite2D" parent="SpriteScaleJoint"]
|
||||
visible = false
|
||||
position = Vector2(8, 5)
|
||||
sprite_frames = SubResource("SpriteFrames_ckuah")
|
||||
animation = &"Idle"
|
||||
script = ExtResource("4_2qn7a")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="SpriteScaleJoint/DeathSprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("5_17x2r")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_exf4b")
|
||||
use_cache = false
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -9)
|
||||
shape = SubResource("RectangleShape2D_va0n6")
|
||||
|
||||
[node name="MoveAnimation" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_v5oyl")
|
||||
}
|
||||
autoplay = "Move"
|
||||
|
||||
[node name="JumpTimer" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="HammerTime" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="FlameTimer" type="Timer" parent="."]
|
||||
wait_time = 0.5
|
||||
one_shot = true
|
||||
|
||||
[node name="FallSFX" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = ExtResource("3_mliv7")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="FallSFX" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("5_v5oyl")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "stream"
|
||||
themed_resource = SubResource("Resource_5b235")
|
||||
metadata/_custom_type_script = "uid://cq6f682453q6o"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("4_kfwlq")
|
||||
hitbox = NodePath("../SpriteScaleJoint/Sprite/Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("6_va0n6")
|
||||
visuals = NodePath("../SpriteScaleJoint/DeathSprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("11_pvhfi")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="Hammer" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
show_behind_parent = true
|
||||
position = Vector2(-16, -32)
|
||||
texture = ExtResource("4_vubm2")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 16, 16)
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Hammer" node_paths=PackedStringArray("node_to_affect", "property_node")]
|
||||
script = ExtResource("5_17x2r")
|
||||
node_to_affect = NodePath("..")
|
||||
property_node = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("15_yggkc")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(-1.42109e-14, -16)
|
||||
scale = Vector2(1.85, 2.1)
|
||||
|
||||
[node name="ThemedToJSONConverter" type="Node" parent="."]
|
||||
script = ExtResource("14_nf6hu")
|
||||
resource = SubResource("Resource_exf4b")
|
||||
json_file_path = "res://Assets/Sprites/Enemies/Bowser.json"
|
||||
metadata/_custom_type_script = "uid://cqif1li7otvpl"
|
||||
|
||||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("15_nf6hu")
|
||||
properties = Array[String](["can_hammer", "can_fire"])
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="."]
|
||||
script = ExtResource("17_5b235")
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("19_ymlbw")
|
||||
hitbox = NodePath("../SpriteScaleJoint/Sprite/Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("20_ckuah")
|
||||
hitbox = NodePath("../SpriteScaleJoint/Sprite/Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("21_mcog5")
|
||||
hitbox = NodePath("../SpriteScaleJoint/Sprite/Hitbox")
|
||||
metadata/_custom_type_script = "uid://ba18grqjixded"
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [5000]]
|
||||
[connection signal="killed" from="." to="." method="show_smoke" unbinds=1]
|
||||
[connection signal="area_entered" from="SpriteScaleJoint/Sprite/Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="timeout" from="JumpTimer" to="." method="jump"]
|
||||
[connection signal="timeout" from="HammerTime" to="." method="throw_hammers"]
|
||||
[connection signal="timeout" from="FlameTimer" to="." method="breathe_fire"]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="." method="fireball_hit" unbinds=1]
|
||||
[connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="play_music" flags=6]
|
||||
[connection signal="attached" from="TrackJoint" to="MoveAnimation" method="play" binds= ["RESET"]]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="ShellDetection" method="destroy_shell"]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="fireball_hit" unbinds=1]
|
||||
[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="." method="damage_player"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="fireball_hit" unbinds=1]
|
65
Scenes/Prefabs/Entities/Enemies/BowserFlame.tscn
Normal file
65
Scenes/Prefabs/Entities/Enemies/BowserFlame.tscn
Normal file
@@ -0,0 +1,65 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://blbarreyjem4l"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://t5lgshoxlohe" path="res://Assets/Sprites/Items/BowserFlame.png" id="1_4hwux"]
|
||||
[ext_resource type="Script" uid="uid://btstbvjk6e6aw" path="res://Scripts/Classes/Entities/Enemies/BowserFlame.gd" id="1_dq7qg"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_ktnk0"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_ktnk0"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/BowserFlame.json" id="5_0e5kh"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_iikig"]
|
||||
atlas = ExtResource("1_4hwux")
|
||||
region = Rect2(0, 0, 24, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jqext"]
|
||||
atlas = ExtResource("1_4hwux")
|
||||
region = Rect2(24, 0, 24, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_oy8b6"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_iikig")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jqext")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 15.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ohhuu"]
|
||||
size = Vector2(12, 4)
|
||||
|
||||
[node name="BowserFlame" type="Node2D" groups=["Enemies"]]
|
||||
script = ExtResource("1_dq7qg")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_oy8b6")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.67141116
|
||||
flip_h = true
|
||||
script = ExtResource("3_ktnk0")
|
||||
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_ktnk0")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_0e5kh")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_ohhuu")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(-2.38419e-07, 0)
|
||||
scale = Vector2(1.6, 1)
|
||||
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="play_sfx"]
|
||||
[connection signal="screen_exited" from="VisibleOnScreenEnabler2D" to="." method="queue_free"]
|
13
Scenes/Prefabs/Entities/Enemies/BowsersBro.tscn
Normal file
13
Scenes/Prefabs/Entities/Enemies/BowsersBro.tscn
Normal file
@@ -0,0 +1,13 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bjysym6bhxljv"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://pfhvflypjq6y" path="res://Scenes/Prefabs/Entities/Enemies/TrueBowser.tscn" id="1_qcxx5"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/BowsersBro.json" id="2_qcxx5"]
|
||||
|
||||
[node name="BowsersBro" instance=ExtResource("1_qcxx5")]
|
||||
music_enabled = false
|
||||
|
||||
[node name="ResourceSetterNew" parent="SpriteScaleJoint/Sprite" index="2"]
|
||||
resource_json = ExtResource("2_qcxx5")
|
||||
|
||||
[node name="ResourceSetterNew" parent="SpriteScaleJoint/DeathSprite" index="0"]
|
||||
resource_json = ExtResource("2_qcxx5")
|
91
Scenes/Prefabs/Entities/Enemies/BulletBill.tscn
Normal file
91
Scenes/Prefabs/Entities/Enemies/BulletBill.tscn
Normal file
@@ -0,0 +1,91 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://c1wl10xa3jara"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://7b27p232kp7w" path="res://Scripts/Classes/Entities/Enemies/BulletBill.gd" id="1_52tat"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_dwbhe"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_4je76"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/BulletBill.json" id="4_myh77"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="5_edyyd"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_jwkii"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="9_4je76"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="9_dwbhe"]
|
||||
[ext_resource type="Script" uid="uid://33no4mylhh1r" path="res://Scripts/Classes/Components/OffScreenDespawner.gd" id="11_myh77"]
|
||||
[ext_resource type="Script" uid="uid://b8vmbtoaaq5nc" path="res://Scripts/Parts/EditorToggleDetection.gd" id="12_0vqq3"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="13_871w6"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_dwbhe"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[node name="BulletBill" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
z_index = -2
|
||||
script = ExtResource("1_52tat")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
flip_h = true
|
||||
script = ExtResource("2_dwbhe")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_4je76")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_myh77")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("RectangleShape2D_dwbhe")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_edyyd")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("6_jwkii")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("9_dwbhe")
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("9_4je76")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="LevelEditorToggleDetection" type="Node" parent="."]
|
||||
script = ExtResource("12_0vqq3")
|
||||
metadata/_custom_type_script = "uid://b8vmbtoaaq5nc"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("13_871w6")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://ba18grqjixded"
|
||||
|
||||
[node name="OffScreenDespawner" type="Node" parent="."]
|
||||
script = ExtResource("11_myh77")
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="on_screen_entered"]
|
||||
[connection signal="screen_exited" from="VisibleOnScreenEnabler2D" to="OffScreenDespawner" method="on_screen_exited"]
|
||||
[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="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="level_start" from="LevelEditorToggleDetection" to="." method="on_screen_entered"]
|
||||
[connection signal="level_start" from="LevelEditorToggleDetection" to="." method="_ready"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
176
Scenes/Prefabs/Entities/Enemies/BuzzyBeetle.tscn
Normal file
176
Scenes/Prefabs/Entities/Enemies/BuzzyBeetle.tscn
Normal file
@@ -0,0 +1,176 @@
|
||||
[gd_scene load_steps=22 format=3 uid="uid://doo8617qiyp77"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://q8gx0l64pcjh" path="res://Scripts/Classes/Entities/Enemies/KoopaTroopa.gd" id="1_ua110"]
|
||||
[ext_resource type="Texture2D" uid="uid://bs5aslhhgk8bv" path="res://Assets/Sprites/Enemies/BuzzyBeetle.png" id="2_5xvna"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_obcjq"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_eu017"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/BuzzyBeetle.json" id="4_316n2"]
|
||||
[ext_resource type="PackedScene" uid="uid://bupy7th8ln45c" path="res://Scenes/Parts/Wing.tscn" id="5_0ayui"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="5_eu017"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/BuzzyBeetleShell.json" id="5_obcjq"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="6_316n2"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="7_5xvna"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="8_n5sq7"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="9_2w4oo"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="10_8v4fy"]
|
||||
[ext_resource type="Script" uid="uid://dq860i312isk" path="res://Scripts/Classes/Components/IcicleDetection.gd" id="11_bxryo"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="14_eu017"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="15_316n2"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="17_n5sq7"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_n5sq7"]
|
||||
atlas = ExtResource("2_5xvna")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_2w4oo"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_n5sq7")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fop3r"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_y8bq4"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[node name="BuzzyBeetle" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
disable_mode = 1
|
||||
collision_layer = 16
|
||||
collision_mask = 50
|
||||
script = ExtResource("1_ua110")
|
||||
shell_scene = "uid://csdbt4vd14fsg"
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_2w4oo")
|
||||
offset = Vector2(0, 1)
|
||||
flip_h = true
|
||||
script = ExtResource("2_obcjq")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_eu017")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_316n2")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Wing" parent="Sprite" instance=ExtResource("5_0ayui")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
position = Vector2(-9, 1)
|
||||
frame_progress = 0.539258
|
||||
flip_h = true
|
||||
|
||||
[node name="DeathSprite" type="AnimatedSprite2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -7)
|
||||
script = ExtResource("2_obcjq")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="DeathSprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_eu017")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_obcjq")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -6)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("RectangleShape2D_fop3r")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Collision2" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -6)
|
||||
rotation = -1.5708
|
||||
shape = SubResource("RectangleShape2D_fop3r")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -6)
|
||||
shape = SubResource("RectangleShape2D_y8bq4")
|
||||
|
||||
[node name="LedgeDetectionCast" type="RayCast2D" parent="."]
|
||||
position = Vector2(-8, -2)
|
||||
target_position = Vector2(0, 3)
|
||||
collision_mask = 2
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(0, -11)
|
||||
scale = Vector2(1, 1.3)
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_eu017")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("6_316n2")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
play_sfx_on_hit = true
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("7_5xvna")
|
||||
visuals = NodePath("../DeathSprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="."]
|
||||
script = ExtResource("8_n5sq7")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("9_2w4oo")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("10_8v4fy")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="IcicleDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("11_bxryo")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dq860i312isk"
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="."]
|
||||
script = ExtResource("14_eu017")
|
||||
auto_call = false
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("15_316n2")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="." node_paths=PackedStringArray("movement_node")]
|
||||
script = ExtResource("17_n5sq7")
|
||||
movement_node = NodePath("../BasicEnemyMovement")
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[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="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="stomped_on"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="block_bounced" unbinds=1]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="icicle_detected" from="IcicleDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
214
Scenes/Prefabs/Entities/Enemies/DryBones.tscn
Normal file
214
Scenes/Prefabs/Entities/Enemies/DryBones.tscn
Normal file
@@ -0,0 +1,214 @@
|
||||
[gd_scene load_steps=25 format=3 uid="uid://bxsay5e6dhcqb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://n123x5yuqpjd" path="res://Scripts/Classes/Entities/Enemies/DryBones.gd" id="1_8c647"]
|
||||
[ext_resource type="Texture2D" uid="uid://c5snfukhcacyf" path="res://Assets/Sprites/Enemies/DryBones.png" id="2_qya46"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_kio7v"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_br3pe"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="4_y8gga"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="5_br3pe"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/DryBones.json" id="5_l4h6l"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="6_l4h6l"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="7_qya46"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="10_br3pe"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="11_l4h6l"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w4qtl"]
|
||||
atlas = ExtResource("2_qya46")
|
||||
region = Rect2(48, 0, 24, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2ewll"]
|
||||
atlas = ExtResource("2_qya46")
|
||||
region = Rect2(72, 0, 24, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6txc0"]
|
||||
atlas = ExtResource("2_qya46")
|
||||
region = Rect2(72, 0, 24, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ihwve"]
|
||||
atlas = ExtResource("2_qya46")
|
||||
region = Rect2(48, 0, 24, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1jnbq"]
|
||||
atlas = ExtResource("2_qya46")
|
||||
region = Rect2(24, 0, 24, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_g0gtr"]
|
||||
atlas = ExtResource("2_qya46")
|
||||
region = Rect2(0, 0, 24, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3rrs2"]
|
||||
atlas = ExtResource("2_qya46")
|
||||
region = Rect2(24, 0, 24, 32)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_bqbi3"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w4qtl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2ewll")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Crumble",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6txc0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ihwve")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1jnbq")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"GetUp",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_g0gtr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3rrs2")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Walk",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cngyw"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_tsi1c"]
|
||||
size = Vector2(12, 14)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qya46"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:offset")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_8c647"]
|
||||
resource_name = "Shake"
|
||||
length = 0.1
|
||||
loop_mode = 2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:offset")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(-2, 1), Vector2(2, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_kio7v"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_qya46"),
|
||||
&"Shake": SubResource("Animation_8c647")
|
||||
}
|
||||
|
||||
[node name="DryBones" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 50
|
||||
script = ExtResource("1_8c647")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -16)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_bqbi3")
|
||||
animation = &"Walk"
|
||||
autoplay = "Walk"
|
||||
offset = Vector2(0, 1)
|
||||
flip_h = true
|
||||
script = ExtResource("3_kio7v")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_br3pe")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_l4h6l")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="LCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("RectangleShape2D_cngyw")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="RCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
rotation = -1.5708
|
||||
shape = SubResource("RectangleShape2D_cngyw")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -7)
|
||||
shape = SubResource("RectangleShape2D_tsi1c")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("4_y8gga")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_br3pe")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
play_sfx_on_hit = true
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("6_l4h6l")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="ShakeAnimation" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_kio7v")
|
||||
}
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(0, -9)
|
||||
rect = Rect2(-10, -13, 20, 23)
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("7_qya46")
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="."]
|
||||
script = ExtResource("10_br3pe")
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("11_l4h6l")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://ba18grqjixded"
|
||||
|
||||
[connection signal="killed" from="." to="." method="summon_particle" unbinds=1]
|
||||
[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="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="stomped_on"]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
205
Scenes/Prefabs/Entities/Enemies/FighterFly.tscn
Normal file
205
Scenes/Prefabs/Entities/Enemies/FighterFly.tscn
Normal file
@@ -0,0 +1,205 @@
|
||||
[gd_scene load_steps=28 format=3 uid="uid://cwhvsfp31cuu6"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cemetiu57dblq" path="res://Scripts/Classes/Entities/Enemies/FighterFly.gd" id="1_unlki"]
|
||||
[ext_resource type="Texture2D" uid="uid://gnac5qwog2ar" path="res://Assets/Sprites/Enemies/FighterFly.png" id="2_jslnt"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_j4row"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_unlki"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/FighterFly.json" id="5_d7ynx"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="5_s0as8"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_d7ynx"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="7_nm5h2"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="8_s7wf1"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="9_wbo1r"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="10_0bgxg"]
|
||||
[ext_resource type="Script" uid="uid://dq860i312isk" path="res://Scripts/Classes/Components/IcicleDetection.gd" id="11_aeemo"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="12_g551b"]
|
||||
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="14_unlki"]
|
||||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="15_s0as8"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="16_s0as8"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nm5h2"]
|
||||
atlas = ExtResource("2_jslnt")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_s7wf1"]
|
||||
atlas = ExtResource("2_jslnt")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_d7ynx"]
|
||||
atlas = ExtResource("2_jslnt")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_wbo1r"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nm5h2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_s7wf1")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Fly",
|
||||
"speed": 15.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_d7ynx")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_e62ic"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_qm5my"]
|
||||
size = Vector2(14, 14)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wbo1r"]
|
||||
atlas = ExtResource("2_jslnt")
|
||||
region = Rect2(0, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0bgxg"]
|
||||
atlas = ExtResource("2_jslnt")
|
||||
region = Rect2(16, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_aeemo"]
|
||||
atlas = ExtResource("2_jslnt")
|
||||
region = Rect2(32, 16, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_g551b"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wbo1r")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0bgxg")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Fly",
|
||||
"speed": 15.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_aeemo")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_g1y3b"]
|
||||
script = ExtResource("15_s0as8")
|
||||
Overworld = SubResource("SpriteFrames_wbo1r")
|
||||
Underground = SubResource("SpriteFrames_g551b")
|
||||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||||
|
||||
[node name="FighterFly" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 50
|
||||
script = ExtResource("1_unlki")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_wbo1r")
|
||||
animation = &"Idle"
|
||||
autoplay = "Fly"
|
||||
frame_progress = 0.526965
|
||||
script = ExtResource("3_j4row")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_unlki")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_d7ynx")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -6)
|
||||
rotation = 1.5707964
|
||||
shape = SubResource("RectangleShape2D_e62ic")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Collision2" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -6)
|
||||
rotation = -1.5707964
|
||||
shape = SubResource("RectangleShape2D_e62ic")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
visible = false
|
||||
position = Vector2(0, -7)
|
||||
shape = SubResource("RectangleShape2D_qm5my")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_s0as8")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("6_d7ynx")
|
||||
visuals = NodePath("../Sprite")
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="."]
|
||||
script = ExtResource("7_nm5h2")
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("8_s7wf1")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("9_wbo1r")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("10_0bgxg")
|
||||
add_score = true
|
||||
|
||||
[node name="Node" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("11_aeemo")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("12_g551b")
|
||||
move_speed = 30
|
||||
bounce_on_land = true
|
||||
bounce_height = -150
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://dlq6o2rg1x7in"
|
||||
|
||||
[node name="ThemedToJSONConverter" type="Node" parent="."]
|
||||
script = ExtResource("14_unlki")
|
||||
resource = SubResource("Resource_g1y3b")
|
||||
json_file_path = "res://Assets/Sprites/Enemies/FighterFly.json"
|
||||
metadata/_custom_type_script = "uid://cqif1li7otvpl"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("16_s0as8")
|
||||
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="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="die_from_object"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="." method="die_from_object"]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="icicle_detected" from="Node" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]]
|
180
Scenes/Prefabs/Entities/Enemies/Goomba.tscn
Normal file
180
Scenes/Prefabs/Entities/Enemies/Goomba.tscn
Normal file
@@ -0,0 +1,180 @@
|
||||
[gd_scene load_steps=24 format=3 uid="uid://dnx48rakxib6u"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dv18do583a3x0" path="res://Scripts/Classes/Entities/Enemies/Goomba.gd" id="1_4f3if"]
|
||||
[ext_resource type="Texture2D" uid="uid://bvgp1xgj7cauc" path="res://Assets/Sprites/Enemies/Goomba.png" id="1_rvg4p"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="2_4f3if"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_75r84"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="4_7ob4c"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="5_75r84"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="5_ncruo"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Goomba.json" id="6_magh7"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="6_yt1if"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="7_d04bf"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="8_e62ic"]
|
||||
[ext_resource type="Script" uid="uid://dq860i312isk" path="res://Scripts/Classes/Components/IcicleDetection.gd" id="11_067r1"]
|
||||
[ext_resource type="Script" uid="uid://blfnd65xcx78c" path="res://Scripts/Classes/Components/LedgeDetectionCast.gd" id="13_dpode"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="13_magh7"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="14_3aros"]
|
||||
[ext_resource type="Script" uid="uid://d0mqkvopasu8k" path="res://Scripts/Classes/Components/SecondQuestReplaceComponent.gd" id="15_dpode"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="17_6o7qg"]
|
||||
[ext_resource type="Script" uid="uid://maqpreddu5kg" path="res://Scripts/Classes/Components/LevelPersistance.gd" id="18_hkf3f"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_magh7"]
|
||||
atlas = ExtResource("1_rvg4p")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hkf3f"]
|
||||
atlas = ExtResource("1_rvg4p")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_u44np"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_magh7")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Stomped",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hkf3f")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Walk",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_e62ic"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_qm5my"]
|
||||
size = Vector2(14, 15)
|
||||
|
||||
[node name="Goomba" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 50
|
||||
floor_constant_speed = true
|
||||
floor_max_angle = 1.3613569
|
||||
script = ExtResource("1_4f3if")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_u44np")
|
||||
animation = &"Walk"
|
||||
autoplay = "Walk"
|
||||
frame_progress = 0.274184
|
||||
offset = Vector2(0, 1)
|
||||
flip_h = true
|
||||
script = ExtResource("3_75r84")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect", "property_node")]
|
||||
script = ExtResource("5_75r84")
|
||||
node_to_affect = NodePath("..")
|
||||
property_node = NodePath("../..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("6_magh7")
|
||||
|
||||
[node name="LCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -6)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("RectangleShape2D_e62ic")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="RCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -6)
|
||||
rotation = -1.5708
|
||||
shape = SubResource("RectangleShape2D_e62ic")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_mask = 7
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -6.5)
|
||||
shape = SubResource("RectangleShape2D_qm5my")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("2_4f3if")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_7ob4c")
|
||||
visuals = NodePath("../Sprite")
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_ncruo")
|
||||
detection_type = 1
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("6_yt1if")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_d04bf")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("8_e62ic")
|
||||
add_score = true
|
||||
|
||||
[node name="IcicleDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("11_067r1")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dq860i312isk"
|
||||
|
||||
[node name="Node2D" type="Node2D" parent="."]
|
||||
|
||||
[node name="LedgeDetectionCast" type="RayCast2D" parent="."]
|
||||
position = Vector2(-2, -2)
|
||||
target_position = Vector2(0, 3)
|
||||
collision_mask = 2
|
||||
script = ExtResource("13_dpode")
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="."]
|
||||
script = ExtResource("13_magh7")
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("14_3aros")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="SecondQuestReplacer" type="Node" parent="."]
|
||||
script = ExtResource("15_dpode")
|
||||
new_scene = "uid://doo8617qiyp77"
|
||||
metadata/_custom_type_script = "uid://d0mqkvopasu8k"
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="." node_paths=PackedStringArray("movement_node")]
|
||||
script = ExtResource("17_6o7qg")
|
||||
movement_node = NodePath("../BasicEnemyMovement")
|
||||
|
||||
[node name="LevelPersistance" type="Node" parent="."]
|
||||
script = ExtResource("18_hkf3f")
|
||||
metadata/_custom_type_script = "uid://maqpreddu5kg"
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[connection signal="killed" from="." to="LevelPersistance" method="set_as_active" unbinds=1]
|
||||
[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= [100]]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="stomped_on"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="LevelPersistance" method="set_as_active" unbinds=1]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="die_from_object"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="." method="die_from_object"]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="icicle_detected" from="IcicleDetection" to="." method="die_from_object" flags=3]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]]
|
||||
[connection signal="enabled" from="LevelPersistance" to="." method="queue_free"]
|
16
Scenes/Prefabs/Entities/Enemies/Goombrat.tscn
Normal file
16
Scenes/Prefabs/Entities/Enemies/Goombrat.tscn
Normal file
@@ -0,0 +1,16 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bkxaywyw6emlc"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dnx48rakxib6u" path="res://Scenes/Prefabs/Entities/Enemies/Goomba.tscn" id="1_lifw8"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Goombrat.json" id="2_mhe8b"]
|
||||
|
||||
[node name="Goombrat" instance=ExtResource("1_lifw8")]
|
||||
|
||||
[node name="ResourceSetterNew" parent="Sprite" index="0"]
|
||||
resource_json = ExtResource("2_mhe8b")
|
||||
|
||||
[node name="LedgeDetectionCast" parent="." index="13"]
|
||||
position = Vector2(-4, -5)
|
||||
target_position = Vector2(0, 8)
|
||||
|
||||
[node name="BasicEnemyMovement" parent="." index="14" node_paths=PackedStringArray("ledge_detection_cast")]
|
||||
ledge_detection_cast = NodePath("../LedgeDetectionCast")
|
210
Scenes/Prefabs/Entities/Enemies/GreenCheepCheep.tscn
Normal file
210
Scenes/Prefabs/Entities/Enemies/GreenCheepCheep.tscn
Normal file
@@ -0,0 +1,210 @@
|
||||
[gd_scene load_steps=24 format=3 uid="uid://bdirphnfabey8"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dbq7oso3fo4n6" path="res://Assets/Sprites/Enemies/CheepCheep.png" id="1_123qd"]
|
||||
[ext_resource type="Script" uid="uid://b475vfhcp2f30" path="res://Scripts/Classes/Entities/Enemies/SwimmingCheepCheep.gd" id="1_a3qb1"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_1gkhc"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="3_a5qfu"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_1gkhc"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="4_cd02n"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/GreenCheepCheep.json" id="5_8m1k0"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="5_qwki7"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="6_qwki7"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="10_8m1k0"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="11_21r3x"]
|
||||
[ext_resource type="Script" uid="uid://b8vmbtoaaq5nc" path="res://Scripts/Parts/EditorToggleDetection.gd" id="12_si7cd"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="13_m2mkg"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_si7cd"]
|
||||
atlas = ExtResource("1_123qd")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_m2mkg"]
|
||||
atlas = ExtResource("1_123qd")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_pyihc"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_si7cd")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_m2mkg")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cd02n"]
|
||||
size = Vector2(10, 10)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_a3qb1"]
|
||||
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]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_iib8n"]
|
||||
resource_name = "Swim"
|
||||
length = 0.4
|
||||
loop_mode = 1
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [0, 1]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_a5qfu"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_a3qb1"),
|
||||
&"Swim": SubResource("Animation_iib8n")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_b7un4"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, -8)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_qwki7"]
|
||||
resource_name = "Wave"
|
||||
length = 2.0
|
||||
loop_mode = 2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1, 2),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, -16), Vector2(0, -8), Vector2(0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_reflr"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_b7un4"),
|
||||
&"Wave": SubResource("Animation_qwki7")
|
||||
}
|
||||
|
||||
[node name="CheepCheep" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
script = ExtResource("1_a3qb1")
|
||||
on_screen_enabler = NodePath("Sprite/VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_pyihc")
|
||||
flip_h = true
|
||||
script = ExtResource("3_1gkhc")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Sprite"]
|
||||
position = Vector2(0, 8)
|
||||
rotation = 3.14159
|
||||
scale = Vector2(1, -1)
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="Sprite/Hitbox"]
|
||||
position = Vector2(0, -8)
|
||||
shape = SubResource("RectangleShape2D_cd02n")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="Sprite"]
|
||||
rotation = 3.14159
|
||||
scale = Vector2(1, -1)
|
||||
enable_node_path = NodePath("../..")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_1gkhc")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_8m1k0")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Animations" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_a5qfu")
|
||||
}
|
||||
autoplay = "Swim"
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("3_a5qfu")
|
||||
hitbox = NodePath("../Sprite/Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="WaveAnimations" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_reflr")
|
||||
}
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("4_cd02n")
|
||||
hitbox = NodePath("../Sprite/Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("5_qwki7")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("6_qwki7")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="."]
|
||||
script = ExtResource("10_8m1k0")
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[node name="PropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("11_21r3x")
|
||||
properties = Array[String](["movement_type"])
|
||||
metadata/_custom_type_script = "uid://ctfbuoxtnnl0q"
|
||||
|
||||
[node name="LevelEditorToggleDetection" type="Node" parent="."]
|
||||
script = ExtResource("12_si7cd")
|
||||
metadata/_custom_type_script = "uid://b8vmbtoaaq5nc"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("13_m2mkg")
|
||||
hitbox = NodePath("../Sprite/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="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"]
|
||||
[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="toggled" from="LevelEditorToggleDetection" to="." method="_ready"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
12
Scenes/Prefabs/Entities/Enemies/GreenKoopaParaTroopa.tscn
Normal file
12
Scenes/Prefabs/Entities/Enemies/GreenKoopaParaTroopa.tscn
Normal file
@@ -0,0 +1,12 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://4fwln7wo5cja"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://r6dlmokkdyar" path="res://Scenes/Prefabs/Entities/Enemies/GreenKoopaTroopa.tscn" id="1_j41ky"]
|
||||
|
||||
[node name="GreenKoopaTroopa" instance=ExtResource("1_j41ky")]
|
||||
winged = true
|
||||
|
||||
[node name="Wing" parent="Sprite" index="1"]
|
||||
visible = true
|
||||
|
||||
[node name="BasicEnemyMovement" parent="." index="14"]
|
||||
bounce_height = -250
|
200
Scenes/Prefabs/Entities/Enemies/GreenKoopaTroopa.tscn
Normal file
200
Scenes/Prefabs/Entities/Enemies/GreenKoopaTroopa.tscn
Normal file
@@ -0,0 +1,200 @@
|
||||
[gd_scene load_steps=25 format=3 uid="uid://r6dlmokkdyar"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://q8gx0l64pcjh" path="res://Scripts/Classes/Entities/Enemies/KoopaTroopa.gd" id="1_ykjo1"]
|
||||
[ext_resource type="Texture2D" uid="uid://cy6v7tdtxebs5" path="res://Assets/Sprites/Enemies/KoopaTroopa.png" id="2_ykjo1"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_2rsfy"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="4_1sj6f"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_71l08"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="5_8y4pd"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/GreenKoopaTroopa.json" id="5_mook0"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/GreenKoopaShell.json" id="6_71l08"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_fop3r"]
|
||||
[ext_resource type="PackedScene" uid="uid://bupy7th8ln45c" path="res://Scenes/Parts/Wing.tscn" id="6_gkyfa"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="7_fop3r"]
|
||||
[ext_resource type="Script" uid="uid://blfnd65xcx78c" path="res://Scripts/Classes/Components/LedgeDetectionCast.gd" id="8_gkyfa"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="8_y8bq4"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="9_gf50m"]
|
||||
[ext_resource type="Script" uid="uid://dq860i312isk" path="res://Scripts/Classes/Components/IcicleDetection.gd" id="12_iydhw"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="15_71l08"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="16_dgip2"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="18_rldwo"]
|
||||
[ext_resource type="Script" uid="uid://maqpreddu5kg" path="res://Scripts/Classes/Components/LevelPersistance.gd" id="19_j14in"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_71l08"]
|
||||
atlas = ExtResource("2_ykjo1")
|
||||
region = Rect2(0, 0, 16, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dgip2"]
|
||||
atlas = ExtResource("2_ykjo1")
|
||||
region = Rect2(16, 0, 16, 32)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_anxyg"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_71l08")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dgip2")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Walk",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fop3r"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_y8bq4"]
|
||||
size = Vector2(12, 13)
|
||||
|
||||
[node name="GreenKoopaTroopa" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
disable_mode = 1
|
||||
collision_layer = 16
|
||||
collision_mask = 50
|
||||
script = ExtResource("1_ykjo1")
|
||||
shell_scene = "uid://bowadxqfmg636"
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -16)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_anxyg")
|
||||
animation = &"Walk"
|
||||
autoplay = "Walk"
|
||||
offset = Vector2(0, 1)
|
||||
flip_h = true
|
||||
script = ExtResource("3_2rsfy")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_71l08")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_mook0")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Wing" parent="Sprite" instance=ExtResource("6_gkyfa")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
position = Vector2(-8, 3)
|
||||
autoplay = "Flap"
|
||||
frame_progress = 0.0
|
||||
flip_h = true
|
||||
|
||||
[node name="DeathSprite" type="AnimatedSprite2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -8)
|
||||
script = ExtResource("3_2rsfy")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="DeathSprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_71l08")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("6_71l08")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -6)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("RectangleShape2D_fop3r")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Collision2" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -6)
|
||||
rotation = -1.5708
|
||||
shape = SubResource("RectangleShape2D_fop3r")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_mask = 7
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -5.5)
|
||||
shape = SubResource("RectangleShape2D_y8bq4")
|
||||
|
||||
[node name="LedgeDetectionCast" type="RayCast2D" parent="."]
|
||||
position = Vector2(-8, -2)
|
||||
target_position = Vector2(0, 3)
|
||||
collision_mask = 2
|
||||
script = ExtResource("8_gkyfa")
|
||||
metadata/_custom_type_script = "uid://blfnd65xcx78c"
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(0, -11)
|
||||
scale = Vector2(1, 1.3)
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("4_1sj6f")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_8y4pd")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("6_fop3r")
|
||||
visuals = NodePath("../DeathSprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_fop3r")
|
||||
detection_type = 1
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("8_y8bq4")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("9_gf50m")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="IcicleDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("12_iydhw")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dq860i312isk"
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="."]
|
||||
script = ExtResource("15_71l08")
|
||||
auto_call = false
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("16_dgip2")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="." node_paths=PackedStringArray("movement_node")]
|
||||
script = ExtResource("18_rldwo")
|
||||
movement_node = NodePath("../BasicEnemyMovement")
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[node name="LevelPersistance" type="Node" parent="."]
|
||||
script = ExtResource("19_j14in")
|
||||
metadata/_custom_type_script = "uid://maqpreddu5kg"
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[connection signal="killed" from="." to="LevelPersistance" method="set_as_active" unbinds=1]
|
||||
[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="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="stomped_on"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="LevelPersistance" method="set_as_active" unbinds=1]
|
||||
[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="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="block_bounced" unbinds=1]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="icicle_detected" from="IcicleDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
||||
[connection signal="enabled" from="LevelPersistance" to="." method="queue_free"]
|
19
Scenes/Prefabs/Entities/Enemies/GreenParaKoopaHori.tscn
Normal file
19
Scenes/Prefabs/Entities/Enemies/GreenParaKoopaHori.tscn
Normal file
@@ -0,0 +1,19 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://w2ubxsaw6ofp"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://4fwln7wo5cja" path="res://Scenes/Prefabs/Entities/Enemies/GreenKoopaParaTroopa.tscn" id="1_pd6rg"]
|
||||
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="2_6kidr"]
|
||||
[ext_resource type="Texture2D" uid="uid://dpdrrkqtcedgm" path="res://Assets/Sprites/Tilesets/DottedLine.png" id="3_kfyly"]
|
||||
|
||||
[node name="GreenKoopaTroopa" instance=ExtResource("1_pd6rg")]
|
||||
metadata/fly_2 = true
|
||||
|
||||
[node name="LevelEditorVisibleNode" type="Node2D" parent="." index="18"]
|
||||
script = ExtResource("2_6kidr")
|
||||
metadata/_custom_type_script = "uid://cpwloakvp672a"
|
||||
|
||||
[node name="Line2D" type="Line2D" parent="LevelEditorVisibleNode" index="0"]
|
||||
texture_repeat = 2
|
||||
points = PackedVector2Array(0, 0, -96, 0)
|
||||
width = 1.0
|
||||
texture = ExtResource("3_kfyly")
|
||||
texture_mode = 1
|
7
Scenes/Prefabs/Entities/Enemies/HammerBowser.tscn
Executable file
7
Scenes/Prefabs/Entities/Enemies/HammerBowser.tscn
Executable file
@@ -0,0 +1,7 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://b0or5x44nv260"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://duptcik2j0b04" path="res://Scenes/Prefabs/Entities/Enemies/Bowser.tscn" id="1_176p2"]
|
||||
|
||||
[node name="HammerBowser" instance=ExtResource("1_176p2")]
|
||||
can_hammer = true
|
||||
can_fire = false
|
331
Scenes/Prefabs/Entities/Enemies/HammerBro.tscn
Normal file
331
Scenes/Prefabs/Entities/Enemies/HammerBro.tscn
Normal file
@@ -0,0 +1,331 @@
|
||||
[gd_scene load_steps=36 format=3 uid="uid://kr7i2kf6rew0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b8gdlotx0at6x" path="res://Scripts/Classes/Entities/Enemies/HammerBro.gd" id="1_8mo24"]
|
||||
[ext_resource type="Texture2D" uid="uid://l3l3icupve4t" path="res://Assets/Sprites/Enemies/HammerBro.png" id="2_8mo24"]
|
||||
[ext_resource type="Texture2D" uid="uid://3xmhfi556p3s" path="res://Assets/Sprites/Items/Hammer.png" id="3_dywvb"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_hx42c"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="5_i0wjw"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Hammer.json" id="6_0w8yj"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="6_1mp8k"]
|
||||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="6_hx42c"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="7_pvn5i"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="7_scjjh"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/HammerBro.json" id="8_0w8yj"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="8_1mp8k"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="9_scjjh"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="12_hx42c"]
|
||||
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="15_2r2js"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="16_0w8yj"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="17_2r2js"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_pvn5i"]
|
||||
atlas = ExtResource("2_8mo24")
|
||||
region = Rect2(32, 0, 16, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0w8yj"]
|
||||
atlas = ExtResource("2_8mo24")
|
||||
region = Rect2(48, 0, 16, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2r2js"]
|
||||
atlas = ExtResource("2_8mo24")
|
||||
region = Rect2(0, 0, 16, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dq4jl"]
|
||||
atlas = ExtResource("2_8mo24")
|
||||
region = Rect2(16, 0, 16, 24)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_cl1av"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_pvn5i")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0w8yj")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Hammer",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2r2js")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dq4jl")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hx42c"]
|
||||
atlas = ExtResource("3_dywvb")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_1mp8k"]
|
||||
resource_name = "Movement"
|
||||
loop_mode = 2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(8, -12), Vector2(-8, -12)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_scjjh"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, -12)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_2vqj5"]
|
||||
_data = {
|
||||
&"Movement": SubResource("Animation_1mp8k"),
|
||||
&"RESET": SubResource("Animation_scjjh")
|
||||
}
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_dywvb"]
|
||||
size = Vector2(8, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2vqj5"]
|
||||
size = Vector2(12, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_eel5y"]
|
||||
atlas = ExtResource("2_8mo24")
|
||||
region = Rect2(32, 24, 16, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_cl1av"]
|
||||
atlas = ExtResource("2_8mo24")
|
||||
region = Rect2(48, 24, 16, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ccgvu"]
|
||||
atlas = ExtResource("2_8mo24")
|
||||
region = Rect2(0, 24, 16, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2u435"]
|
||||
atlas = ExtResource("2_8mo24")
|
||||
region = Rect2(16, 24, 16, 24)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_6r0gb"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_eel5y")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_cl1av")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Hammer",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ccgvu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2u435")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_5o1ie"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_eel5y")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_cl1av")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Hammer",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ccgvu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2u435")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_pvn5i"]
|
||||
script = ExtResource("6_hx42c")
|
||||
Overworld = SubResource("SpriteFrames_cl1av")
|
||||
Underground = SubResource("SpriteFrames_5o1ie")
|
||||
Castle = SubResource("SpriteFrames_6r0gb")
|
||||
metadata/_custom_type_script = ExtResource("6_hx42c")
|
||||
|
||||
[node name="HammerBro" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_8mo24")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -12)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_cl1av")
|
||||
animation = &"Idle"
|
||||
frame_progress = 0.755197
|
||||
offset = Vector2(2, 0)
|
||||
flip_h = true
|
||||
script = ExtResource("3_hx42c")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Hammer" type="Sprite2D" parent="Sprite"]
|
||||
visible = false
|
||||
show_behind_parent = true
|
||||
position = Vector2(0, -17)
|
||||
texture = SubResource("AtlasTexture_hx42c")
|
||||
flip_h = true
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite/Hammer" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("7_pvn5i")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("6_0w8yj")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("7_pvn5i")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("8_0w8yj")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="MovementAnimations" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_2vqj5")
|
||||
}
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -8)
|
||||
shape = SubResource("RectangleShape2D_dywvb")
|
||||
|
||||
[node name="BlockDetect" type="RayCast2D" parent="."]
|
||||
position = Vector2(0, 17)
|
||||
target_position = Vector2(0, 24)
|
||||
collision_mask = 2
|
||||
hit_from_inside = true
|
||||
|
||||
[node name="UpBlock" type="RayCast2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -32)
|
||||
target_position = Vector2(0, -24)
|
||||
collision_mask = 2
|
||||
hit_from_inside = true
|
||||
|
||||
[node name="JumpTimer" type="Timer" parent="."]
|
||||
wait_time = 4.0
|
||||
one_shot = true
|
||||
|
||||
[node name="HammerTimer" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_i0wjw")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
visible = false
|
||||
position = Vector2(0, -8)
|
||||
shape = SubResource("RectangleShape2D_2vqj5")
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("6_1mp8k")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_scjjh")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("8_1mp8k")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(0, -15)
|
||||
scale = Vector2(1, 1.7)
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("9_scjjh")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 10.0
|
||||
one_shot = true
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("12_hx42c")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="ThemedToJSONConverter" type="Node" parent="."]
|
||||
script = ExtResource("15_2r2js")
|
||||
resource = SubResource("Resource_pvn5i")
|
||||
json_file_path = "res://Assets/Sprites/Enemies/HammerBro.json"
|
||||
metadata/_custom_type_script = "uid://cqif1li7otvpl"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("16_0w8yj")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="."]
|
||||
script = ExtResource("17_2r2js")
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[connection signal="timeout" from="JumpTimer" to="." method="jump" binds= [false]]
|
||||
[connection signal="timeout" from="HammerTimer" to="." method="do_hammer_throw"]
|
||||
[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= [1000]]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die" binds= [false]]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [1000]]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="die_from_object"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [1000]]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="." method="die_from_object"]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [1000]]
|
||||
[connection signal="gib_about_to_spawn" from="GibSpawner" to="Sprite/Hammer" method="hide"]
|
||||
[connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="on_screen_entered"]
|
||||
[connection signal="timeout" from="Timer" to="." method="charge"]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [1000]]
|
||||
[connection signal="attached" from="TrackJoint" to="MovementAnimations" method="play" binds= ["RESET"]]
|
85
Scenes/Prefabs/Entities/Enemies/Icicle.tscn
Normal file
85
Scenes/Prefabs/Entities/Enemies/Icicle.tscn
Normal file
@@ -0,0 +1,85 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://b0gkypf5ow67f"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cx0ak5ctcg0mi" path="res://Scripts/Classes/Entities/Enemies/Icicle.gd" id="1_dnx1i"]
|
||||
[ext_resource type="Texture2D" uid="uid://rbln0ee0fknc" path="res://Assets/Sprites/Enemies/Icicle.png" id="2_1h8cl"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_1h8cl"]
|
||||
[ext_resource type="Script" uid="uid://364rywt44hy6" path="res://Scripts/Classes/UI/PackSprite.gd" id="3_dnx1i"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_dnx1i"]
|
||||
size = Vector2(10, 8)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_dnx1i"]
|
||||
resource_name = "Shake"
|
||||
length = 0.2
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:offset")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.10000001),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(-1, 0), Vector2(1, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_5y583"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:offset")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_2sios"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_5y583"),
|
||||
&"Shake": SubResource("Animation_dnx1i")
|
||||
}
|
||||
|
||||
[node name="Icicle" type="CharacterBody2D"]
|
||||
collision_layer = 0
|
||||
collision_mask = 55
|
||||
script = ExtResource("1_dnx1i")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
texture = ExtResource("2_1h8cl")
|
||||
script = ExtResource("3_dnx1i")
|
||||
metadata/_custom_type_script = "uid://364rywt44hy6"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -12)
|
||||
shape = SubResource("RectangleShape2D_dnx1i")
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
visible = false
|
||||
script = ExtResource("3_1h8cl")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -6)
|
||||
shape = SubResource("RectangleShape2D_dnx1i")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_2sios")
|
||||
}
|
||||
|
||||
[connection signal="player_entered" from="Hitbox" to="." method="damage_player"]
|
||||
[connection signal="player_entered" from="Hitbox" to="." method="destroy" unbinds=1]
|
192
Scenes/Prefabs/Entities/Enemies/Lakitu.tscn
Normal file
192
Scenes/Prefabs/Entities/Enemies/Lakitu.tscn
Normal file
@@ -0,0 +1,192 @@
|
||||
[gd_scene load_steps=25 format=3 uid="uid://4bb81eil6a4c"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c3a7sv3y1fjja" path="res://Assets/Sprites/Enemies/LakituCloud.png" id="1_0ier6"]
|
||||
[ext_resource type="Script" uid="uid://bohpv3almqrvg" path="res://Scripts/Classes/Entities/Enemies/Lakitu.gd" id="1_iwyhq"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_3a3ug"]
|
||||
[ext_resource type="PackedScene" uid="uid://dinpjmg0q23rv" path="res://Scenes/Prefabs/Entities/Enemies/Spiny.tscn" id="2_hs1pg"]
|
||||
[ext_resource type="Texture2D" uid="uid://chrv5ve7vlsjs" path="res://Assets/Sprites/Enemies/Lakitu.png" id="2_iwyhq"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_as0ro"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Lakitu.json" id="5_p3xbt"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="5_tn6a8"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_nr0pc"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="7_mgtbd"]
|
||||
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="7_nr0pc"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/LakituCloud.json" id="7_p3xbt"]
|
||||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="8_mgtbd"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="14_v233d"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="15_q7b5d"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="16_r67tm"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="17_6pdgp"]
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_as0ro"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("1_0ier6")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3k8mm"]
|
||||
atlas = ExtResource("2_iwyhq")
|
||||
region = Rect2(0, 0, 16, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_sfar6"]
|
||||
atlas = ExtResource("2_iwyhq")
|
||||
region = Rect2(16, 0, 16, 24)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_3772b"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3k8mm")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_sfar6")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Throw",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_3a3ug"]
|
||||
size = Vector2(10, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_p3xbt"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("1_0ier6")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_3a3ug"]
|
||||
script = ExtResource("8_mgtbd")
|
||||
Overworld = SubResource("SpriteFrames_p3xbt")
|
||||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||||
|
||||
[node name="Lakitu" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
script = ExtResource("1_iwyhq")
|
||||
item = ExtResource("2_hs1pg")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Cloud" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_as0ro")
|
||||
script = ExtResource("2_3a3ug")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="Cloud"]
|
||||
show_behind_parent = true
|
||||
position = Vector2(0, -7)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_3772b")
|
||||
animation = &"Throw"
|
||||
autoplay = "Idle"
|
||||
flip_h = true
|
||||
script = ExtResource("2_3a3ug")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Cloud/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_as0ro")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_p3xbt")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Cloud"]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Cloud/Hitbox"]
|
||||
visible = false
|
||||
position = Vector2(0, -8)
|
||||
shape = SubResource("RectangleShape2D_3a3ug")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Cloud" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_as0ro")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("7_p3xbt")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(4.03897e-28, -1.13687e-13)
|
||||
scale = Vector2(1.6, 2.1)
|
||||
rect = Rect2(-14.999998, -10, 29.999996, 20)
|
||||
|
||||
[node name="ThrowTimer" type="Timer" parent="."]
|
||||
wait_time = 2.0
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_tn6a8")
|
||||
hitbox = NodePath("../Cloud/Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("6_nr0pc")
|
||||
visuals = NodePath("../Cloud/Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_mgtbd")
|
||||
hitbox = NodePath("../Cloud/Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="ThemedToJSONConverter" type="Node" parent="."]
|
||||
script = ExtResource("7_nr0pc")
|
||||
resource = SubResource("Resource_3a3ug")
|
||||
json_file_path = "res://Assets/Sprites/Enemies/LakituCloud.json"
|
||||
metadata/_custom_type_script = "uid://cqif1li7otvpl"
|
||||
|
||||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("14_v233d")
|
||||
properties = Array[String](["item"])
|
||||
filters = Dictionary[String, String]({
|
||||
"item": "can_lakitu_throw"
|
||||
})
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("15_q7b5d")
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="WallCheck" type="RayCast2D" parent="."]
|
||||
target_position = Vector2(0, -8)
|
||||
collision_mask = 6
|
||||
hit_from_inside = true
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("16_r67tm")
|
||||
hitbox = NodePath("../Cloud/Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("17_6pdgp")
|
||||
hitbox = NodePath("../Cloud/Hitbox")
|
||||
metadata/_custom_type_script = "uid://ba18grqjixded"
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[connection signal="killed" from="." to="." method="summon_cloud_particle" unbinds=1]
|
||||
[connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="on_screen_entered"]
|
||||
[connection signal="timeout" from="ThrowTimer" to="." method="on_timeout"]
|
||||
[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die_from_object"]
|
||||
[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" flags=3 binds= [200]]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="summon_cloud_particle" unbinds=1]
|
||||
[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="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
116
Scenes/Prefabs/Entities/Enemies/LeapingCheepCheep.tscn
Normal file
116
Scenes/Prefabs/Entities/Enemies/LeapingCheepCheep.tscn
Normal file
@@ -0,0 +1,116 @@
|
||||
[gd_scene load_steps=15 format=3 uid="uid://cwyxi1uihf35y"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://mshpvsyuw15j" path="res://Scripts/Classes/Entities/Enemies/LeapingCheepCheep.gd" id="1_pbhdk"]
|
||||
[ext_resource type="Texture2D" uid="uid://dbq7oso3fo4n6" path="res://Assets/Sprites/Enemies/CheepCheep.png" id="2_pbhdk"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_11skd"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/RedCheepCheep.json" id="4_hwpvb"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="4_w3x8m"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="5_upc6k"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="6_l756v"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="6_upc6k"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="7_813ad"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="10_hwpvb"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ojki6"]
|
||||
atlas = ExtResource("2_pbhdk")
|
||||
region = Rect2(0, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w3x8m"]
|
||||
atlas = ExtResource("2_pbhdk")
|
||||
region = Rect2(16, 16, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_upc6k"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ojki6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w3x8m")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ojki6"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[node name="LeapingCheepCheep" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
script = ExtResource("1_pbhdk")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenNotifier2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_upc6k")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.0672909
|
||||
flip_h = true
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_11skd")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_hwpvb")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -6)
|
||||
shape = SubResource("RectangleShape2D_ojki6")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("4_w3x8m")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("5_upc6k")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("6_upc6k")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("6_l756v")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_813ad")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="Line2D" type="Line2D" parent="."]
|
||||
visible = false
|
||||
top_level = true
|
||||
visibility_layer = 2
|
||||
texture_repeat = 2
|
||||
width = 1.0
|
||||
texture_mode = 1
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("10_hwpvb")
|
||||
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="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"]
|
||||
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="queue_free"]
|
||||
[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="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
32
Scenes/Prefabs/Entities/Enemies/LitBobOmb.tscn
Normal file
32
Scenes/Prefabs/Entities/Enemies/LitBobOmb.tscn
Normal file
@@ -0,0 +1,32 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://crdxibqdds04v"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://b07v70sioegsj" path="res://Scenes/Prefabs/Entities/Enemies/BobOmb.tscn" id="1_w8ebw"]
|
||||
[ext_resource type="PackedScene" uid="uid://d075e1520ngrv" path="res://Scenes/Prefabs/Entities/Objects/BobOmbHeld.tscn" id="2_i60fb"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/LitBobOmb.json" id="3_j2qyw"]
|
||||
|
||||
[sub_resource type="PackedScene" id="PackedScene_j2qyw"]
|
||||
_bundled = {
|
||||
"base_scene": 0,
|
||||
"conn_count": 0,
|
||||
"conns": PackedInt32Array(),
|
||||
"editable_instances": [],
|
||||
"names": PackedStringArray("BobOmbHeld", "timer"),
|
||||
"node_count": 1,
|
||||
"node_paths": [],
|
||||
"nodes": PackedInt32Array(-1, -1, 2147483647, 0, -1, 1, 1, 1, 0),
|
||||
"variants": [ExtResource("2_i60fb"), 1.0],
|
||||
"version": 3
|
||||
}
|
||||
|
||||
[node name="LitBobOmb" instance=ExtResource("1_w8ebw")]
|
||||
held_scene = SubResource("PackedScene_j2qyw")
|
||||
|
||||
[node name="ResourceSetterNew" parent="Sprite" index="0"]
|
||||
resource_json = ExtResource("3_j2qyw")
|
||||
|
||||
[node name="Timer" type="Timer" parent="." index="12"]
|
||||
wait_time = 3.0
|
||||
one_shot = true
|
||||
|
||||
[connection signal="ready" from="." to="Timer" method="start"]
|
||||
[connection signal="timeout" from="Timer" to="." method="summon_held"]
|
194
Scenes/Prefabs/Entities/Enemies/MontyMole.tscn
Normal file
194
Scenes/Prefabs/Entities/Enemies/MontyMole.tscn
Normal file
@@ -0,0 +1,194 @@
|
||||
[gd_scene load_steps=25 format=3 uid="uid://bym2j03wxhk3t"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dw05x347cr8jj" path="res://Scripts/Classes/Entities/Enemies/MontyMole.gd" id="1_pcto2"]
|
||||
[ext_resource type="Texture2D" uid="uid://c6c6uh8sicml2" path="res://Assets/Sprites/Enemies/MontyMole.png" id="2_pcto2"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_tar16"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_p5vf8"]
|
||||
[ext_resource type="Texture2D" uid="uid://byy3k1pdrp77" path="res://Assets/Sprites/Particles/Smoke.png" id="4_tar16"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/MontyMole.json" id="5_6jmde"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="7_6jmde"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="8_s1n1q"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="9_006vu"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="10_7mwc3"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="11_006vu"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="12_7mwc3"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="13_pan54"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_p5vf8"]
|
||||
atlas = ExtResource("2_pcto2")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6jmde"]
|
||||
atlas = ExtResource("2_pcto2")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jf612"]
|
||||
atlas = ExtResource("2_pcto2")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_w1rqq"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_p5vf8")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Jump",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6jmde")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jf612")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Walk",
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_s1n1q"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mcmqd"]
|
||||
size = Vector2(12, 13)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w1rqq"]
|
||||
atlas = ExtResource("4_tar16")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_s1n1q"]
|
||||
atlas = ExtResource("4_tar16")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_006vu"]
|
||||
atlas = ExtResource("4_tar16")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7mwc3"]
|
||||
atlas = ExtResource("4_tar16")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_pan54"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w1rqq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_s1n1q")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_006vu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7mwc3")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 20.0
|
||||
}]
|
||||
|
||||
[node name="MontyMole" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 54
|
||||
script = ExtResource("1_pcto2")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_w1rqq")
|
||||
animation = &"Walk"
|
||||
autoplay = "Walk"
|
||||
frame_progress = 0.825465
|
||||
offset = Vector2(0, 1)
|
||||
flip_h = true
|
||||
script = ExtResource("3_tar16")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_p5vf8")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_6jmde")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="LCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
rotation = -1.5708
|
||||
shape = SubResource("RectangleShape2D_s1n1q")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="RCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("RectangleShape2D_s1n1q")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_mask = 7
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -5.5)
|
||||
shape = SubResource("RectangleShape2D_mcmqd")
|
||||
|
||||
[node name="DigParticle" type="AnimatedSprite2D" parent="."]
|
||||
visible = false
|
||||
show_behind_parent = true
|
||||
position = Vector2(0, -16)
|
||||
sprite_frames = SubResource("SpriteFrames_pan54")
|
||||
frame_progress = 0.140432
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_6jmde")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("8_s1n1q")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("9_006vu")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("10_7mwc3")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("11_006vu")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="."]
|
||||
script = ExtResource("12_7mwc3")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("13_pan54")
|
||||
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="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"]
|
||||
[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="die_from_object"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
96
Scenes/Prefabs/Entities/Enemies/Muncher.tscn
Normal file
96
Scenes/Prefabs/Entities/Enemies/Muncher.tscn
Normal file
@@ -0,0 +1,96 @@
|
||||
[gd_scene load_steps=15 format=3 uid="uid://bi1hb03wk001p"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bpydbpyjk1mt4" path="res://Scripts/Classes/Entities/Enemy.gd" id="1_cgdwi"]
|
||||
[ext_resource type="Texture2D" uid="uid://dg7yxoq44gaae" path="res://Assets/Sprites/Enemies/Muncher.png" id="2_ad4wf"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_fcan1"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_6tj01"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="4_ad4wf"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Muncher.json" id="5_cgdwi"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="5_r7ue2"]
|
||||
[ext_resource type="Script" uid="uid://bx6r8sjar6cwr" path="res://Scripts/Classes/Components/BasicStaticMovement.gd" id="8_3kryf"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_r7ue2"]
|
||||
atlas = ExtResource("2_ad4wf")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_60xif"]
|
||||
atlas = ExtResource("2_ad4wf")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_6tj01"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_r7ue2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_60xif")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_cgdwi"]
|
||||
size = Vector2(15.9, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r7ue2"]
|
||||
size = Vector2(17, 18.5)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_3kryf"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[node name="Muncher" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
disable_mode = 1
|
||||
collision_layer = 20
|
||||
collision_mask = 4114
|
||||
script = ExtResource("1_cgdwi")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
metadata/block_spawn_offset = Vector2(0, -8)
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_6tj01")
|
||||
frame_progress = 0.602985
|
||||
script = ExtResource("2_fcan1")
|
||||
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_6tj01")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_cgdwi")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_cgdwi")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="PlayerDetection" type="Area2D" parent="."]
|
||||
script = ExtResource("4_ad4wf")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
|
||||
position = Vector2(0, -0.75)
|
||||
shape = SubResource("RectangleShape2D_r7ue2")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("5_r7ue2")
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="Movement" type="Node" parent="."]
|
||||
script = ExtResource("8_3kryf")
|
||||
|
||||
[node name="AnimatableBody2D" type="AnimatableBody2D" parent="."]
|
||||
collision_layer = 33
|
||||
collision_mask = 0
|
||||
sync_to_physics = false
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="AnimatableBody2D"]
|
||||
shape = SubResource("RectangleShape2D_3kryf")
|
||||
|
||||
[connection signal="player_entered" from="PlayerDetection" to="." method="damage_player"]
|
292
Scenes/Prefabs/Entities/Enemies/PiranhaPlant.tscn
Normal file
292
Scenes/Prefabs/Entities/Enemies/PiranhaPlant.tscn
Normal file
@@ -0,0 +1,292 @@
|
||||
[gd_scene load_steps=20 format=3 uid="uid://1rxw4k4wq3ni"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dbq6cn2hp6ijx" path="res://Assets/Sprites/Enemies/PiranhaPlant.png" id="1_2imih"]
|
||||
[ext_resource type="Script" uid="uid://d23hoj2qc2whq" path="res://Scripts/Classes/Entities/Enemies/PiranhaPlant.gd" id="1_jbk0f"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_471w1"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/PiranhaPlant.json" id="4_xp8sq"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="6_471w1"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="7_471w1"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="8_xp8sq"]
|
||||
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="9_tmwyr"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="10_uohcg"]
|
||||
[ext_resource type="Script" uid="uid://d0mqkvopasu8k" path="res://Scripts/Classes/Components/SecondQuestReplaceComponent.gd" id="10_xreuf"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="11_8y1e5"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xp8sq"]
|
||||
atlas = ExtResource("1_2imih")
|
||||
region = Rect2(0, 24, 16, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uohcg"]
|
||||
atlas = ExtResource("1_2imih")
|
||||
region = Rect2(16, 24, 16, 24)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_q2sci"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xp8sq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uohcg")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_k3xt6"]
|
||||
size = Vector2(6, 13)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_471w1"]
|
||||
resource_name = "Hide"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 12)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Sprite/Hitbox:monitoring")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_6l0c7"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, -12)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Sprite/Hitbox:monitoring")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_t8k64"]
|
||||
resource_name = "Rise"
|
||||
length = 4.5
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5, 2, 2.5),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 12), Vector2(0, -12), Vector2(0, -12), Vector2(0, 12)]
|
||||
}
|
||||
tracks/1/type = "method"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Timer")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 4.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"stop"
|
||||
}, {
|
||||
"args": [-1],
|
||||
"method": &"start"
|
||||
}]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Sprite:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 4.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Sprite/Hitbox:monitoring")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 2.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_471w1"]
|
||||
_data = {
|
||||
&"Hide": SubResource("Animation_471w1"),
|
||||
&"RESET": SubResource("Animation_6l0c7"),
|
||||
&"Rise": SubResource("Animation_t8k64")
|
||||
}
|
||||
|
||||
[node name="PirannhaPlant" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
z_index = -5
|
||||
script = ExtResource("1_jbk0f")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -12)
|
||||
sprite_frames = SubResource("SpriteFrames_q2sci")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.985799
|
||||
offset = Vector2(0, 1)
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Sprite"]
|
||||
position = Vector2(0, 12)
|
||||
monitoring = false
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite/Hitbox"]
|
||||
position = Vector2(0, -6)
|
||||
shape = SubResource("RectangleShape2D_k3xt6")
|
||||
|
||||
[node name="UpsideDownExtension" type="CollisionShape2D" parent="Sprite/Hitbox"]
|
||||
position = Vector2(0, -14)
|
||||
shape = SubResource("RectangleShape2D_k3xt6")
|
||||
debug_color = Color(0, 0.6, 0, 0.419608)
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_471w1")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_xp8sq")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_471w1")
|
||||
}
|
||||
autoplay = "Hide"
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.5
|
||||
autostart = true
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(0, -5)
|
||||
scale = Vector2(1, 2.9)
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("6_471w1")
|
||||
hitbox = NodePath("../Sprite/Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_471w1")
|
||||
hitbox = NodePath("../Sprite/Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("8_xp8sq")
|
||||
add_score = true
|
||||
play_sfx = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("10_uohcg")
|
||||
hitbox = NodePath("../Sprite/Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="LevelEditorVisibleNode" type="Node2D" parent="."]
|
||||
script = ExtResource("9_tmwyr")
|
||||
metadata/_custom_type_script = "uid://cpwloakvp672a"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="LevelEditorVisibleNode"]
|
||||
position = Vector2(0, -12)
|
||||
sprite_frames = SubResource("SpriteFrames_q2sci")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.985799
|
||||
offset = Vector2(0, 1)
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="LevelEditorVisibleNode/Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_471w1")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_xp8sq")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="SecondQuestReplacer" type="Node" parent="."]
|
||||
script = ExtResource("10_xreuf")
|
||||
new_scene = "uid://kj5pw3xhq8f7"
|
||||
metadata/_custom_type_script = "uid://d0mqkvopasu8k"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("11_8y1e5")
|
||||
hitbox = NodePath("../Sprite/Hitbox")
|
||||
metadata/_custom_type_script = "uid://ba18grqjixded"
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="on_timeout"]
|
||||
[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="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[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="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="ScoreNoteSpawner" method="play_death_sfx" unbinds=1]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
86
Scenes/Prefabs/Entities/Enemies/Podoboo.tscn
Normal file
86
Scenes/Prefabs/Entities/Enemies/Podoboo.tscn
Normal file
@@ -0,0 +1,86 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://cxdj1ea1rt1r4"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c67dr3ubb25yq" path="res://Assets/Sprites/Enemies/Podoboo.png" id="1_arivf"]
|
||||
[ext_resource type="Script" uid="uid://bha5utvbhxppl" path="res://Scripts/Classes/Entities/Enemies/Podoboo.gd" id="1_i2k1r"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_ct78r"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_31csk"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Podoboo.json" id="5_q2nhk"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="6_31csk"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="7_jhnsj"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="8_g8i2d"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="9_g8i2d"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jhnsj"]
|
||||
atlas = ExtResource("1_arivf")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_g8i2d"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jhnsj")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_i2k1r"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[node name="Podoboo" type="Node2D" groups=["Enemies"]]
|
||||
script = ExtResource("1_i2k1r")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_g8i2d")
|
||||
autoplay = "default"
|
||||
script = ExtResource("3_ct78r")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect", "property_node")]
|
||||
script = ExtResource("4_31csk")
|
||||
node_to_affect = NodePath("..")
|
||||
property_node = NodePath("../..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_q2nhk")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
visible = false
|
||||
shape = SubResource("RectangleShape2D_i2k1r")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
rect = Rect2(-10, -9999, 20, 100000000)
|
||||
show_rect = false
|
||||
|
||||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("6_31csk")
|
||||
properties = Array[String](["jump_delay"])
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_jhnsj")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("8_g8i2d")
|
||||
visuals = NodePath("../Sprite")
|
||||
gib_type = 2
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("9_g8i2d")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib" binds= [0, true]]
|
||||
[connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [500]]
|
||||
[connection signal="invincible_player_hit" from="EnemyPlayerDetection" to="." method="die" unbinds=1]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
386
Scenes/Prefabs/Entities/Enemies/Pokey.tscn
Normal file
386
Scenes/Prefabs/Entities/Enemies/Pokey.tscn
Normal file
@@ -0,0 +1,386 @@
|
||||
[gd_scene load_steps=22 format=3 uid="uid://beggmeixrin75"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b1b6aiai213ci" path="res://Scripts/Classes/Entities/Enemies/Pokey.gd" id="1_b54ls"]
|
||||
[ext_resource type="Texture2D" uid="uid://dj46y8vhqlqjw" path="res://Assets/Sprites/Enemies/Pokey.png" id="2_8aome"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_b54ls"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="4_30hxr"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_bjt0v"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Pokey.json" id="5_rjgwh"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="5_t1h12"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="6_bjt0v"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="7_rjgwh"]
|
||||
[ext_resource type="Script" uid="uid://dq860i312isk" path="res://Scripts/Classes/Components/IcicleDetection.gd" id="8_1jb5g"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="9_klwvr"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="10_wuthq"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="11_8aome"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="12_b54ls"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="13_30hxr"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_g6vo0"]
|
||||
atlas = ExtResource("2_8aome")
|
||||
region = Rect2(32, 0, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_usxvm"]
|
||||
atlas = ExtResource("2_8aome")
|
||||
region = Rect2(0, 0, 32, 32)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_86hsc"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_g6vo0")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Body",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_usxvm")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Head",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_rjgwh"]
|
||||
resource_local_to_scene = true
|
||||
size = Vector2(12, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mpg4k"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_30hxr"]
|
||||
script/source = "extends Node
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
for i in %Parts.get_child_count():
|
||||
var node = %Parts.get_child(i)
|
||||
node.visible = i <= owner.length - 1
|
||||
node.play(\"Head\" if i == owner.length - 1 else \"Body\")
|
||||
"
|
||||
|
||||
[node name="Pokey" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 50
|
||||
script = ExtResource("1_b54ls")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Parts" type="Node2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
|
||||
[node name="Part1" type="AnimatedSprite2D" parent="Parts"]
|
||||
sprite_frames = SubResource("SpriteFrames_86hsc")
|
||||
animation = &"Body"
|
||||
flip_h = true
|
||||
script = ExtResource("3_b54ls")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Parts/Part1" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_bjt0v")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_rjgwh")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="Parts/Part1" node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_30hxr")
|
||||
visuals = NodePath("..")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="Part2" type="AnimatedSprite2D" parent="Parts"]
|
||||
position = Vector2(0, -16)
|
||||
sprite_frames = SubResource("SpriteFrames_86hsc")
|
||||
animation = &"Body"
|
||||
flip_h = true
|
||||
script = ExtResource("3_b54ls")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Parts/Part2" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_bjt0v")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_rjgwh")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="Parts/Part2" node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_30hxr")
|
||||
visuals = NodePath("..")
|
||||
play_death_sfx = false
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="Part3" type="AnimatedSprite2D" parent="Parts"]
|
||||
position = Vector2(0, -32)
|
||||
sprite_frames = SubResource("SpriteFrames_86hsc")
|
||||
animation = &"Head"
|
||||
flip_h = true
|
||||
script = ExtResource("3_b54ls")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Parts/Part3" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_bjt0v")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_rjgwh")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="Parts/Part3" node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_30hxr")
|
||||
visuals = NodePath("..")
|
||||
play_death_sfx = false
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="Part4" type="AnimatedSprite2D" parent="Parts"]
|
||||
visible = false
|
||||
position = Vector2(0, -48)
|
||||
sprite_frames = SubResource("SpriteFrames_86hsc")
|
||||
animation = &"Head"
|
||||
flip_h = true
|
||||
script = ExtResource("3_b54ls")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Parts/Part4" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_bjt0v")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_rjgwh")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="Parts/Part4" node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_30hxr")
|
||||
visuals = NodePath("..")
|
||||
play_death_sfx = false
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="Part5" type="AnimatedSprite2D" parent="Parts"]
|
||||
visible = false
|
||||
position = Vector2(0, -64)
|
||||
sprite_frames = SubResource("SpriteFrames_86hsc")
|
||||
animation = &"Head"
|
||||
flip_h = true
|
||||
script = ExtResource("3_b54ls")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Parts/Part5" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_bjt0v")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_rjgwh")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="Parts/Part5" node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_30hxr")
|
||||
visuals = NodePath("..")
|
||||
play_death_sfx = false
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="Part6" type="AnimatedSprite2D" parent="Parts"]
|
||||
visible = false
|
||||
position = Vector2(0, -80)
|
||||
sprite_frames = SubResource("SpriteFrames_86hsc")
|
||||
animation = &"Head"
|
||||
flip_h = true
|
||||
script = ExtResource("3_b54ls")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Parts/Part6" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_bjt0v")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_rjgwh")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="Parts/Part6" node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_30hxr")
|
||||
visuals = NodePath("..")
|
||||
play_death_sfx = false
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="Part7" type="AnimatedSprite2D" parent="Parts"]
|
||||
visible = false
|
||||
position = Vector2(0, -96)
|
||||
sprite_frames = SubResource("SpriteFrames_86hsc")
|
||||
animation = &"Head"
|
||||
flip_h = true
|
||||
script = ExtResource("3_b54ls")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Parts/Part7" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_bjt0v")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_rjgwh")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="Parts/Part7" node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_30hxr")
|
||||
visuals = NodePath("..")
|
||||
play_death_sfx = false
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="Part8" type="AnimatedSprite2D" parent="Parts"]
|
||||
visible = false
|
||||
position = Vector2(0, -112)
|
||||
sprite_frames = SubResource("SpriteFrames_86hsc")
|
||||
animation = &"Head"
|
||||
flip_h = true
|
||||
script = ExtResource("3_b54ls")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Parts/Part8" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_bjt0v")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_rjgwh")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="Parts/Part8" node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_30hxr")
|
||||
visuals = NodePath("..")
|
||||
play_death_sfx = false
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="Part9" type="AnimatedSprite2D" parent="Parts"]
|
||||
visible = false
|
||||
position = Vector2(0, -128)
|
||||
sprite_frames = SubResource("SpriteFrames_86hsc")
|
||||
animation = &"Head"
|
||||
flip_h = true
|
||||
script = ExtResource("3_b54ls")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Parts/Part9" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_bjt0v")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_rjgwh")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="Parts/Part9" node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_30hxr")
|
||||
visuals = NodePath("..")
|
||||
play_death_sfx = false
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="Part10" type="AnimatedSprite2D" parent="Parts"]
|
||||
visible = false
|
||||
position = Vector2(0, -144)
|
||||
sprite_frames = SubResource("SpriteFrames_86hsc")
|
||||
animation = &"Head"
|
||||
flip_h = true
|
||||
script = ExtResource("3_b54ls")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Parts/Part10" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_bjt0v")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_rjgwh")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="Parts/Part10" node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_30hxr")
|
||||
visuals = NodePath("..")
|
||||
play_death_sfx = false
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
shape = SubResource("RectangleShape2D_rjgwh")
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_t1h12")
|
||||
hitbox = NodePath("../HeadHitbox")
|
||||
play_sfx_on_hit = true
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="FireballDetection2" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_t1h12")
|
||||
hitbox = NodePath("../BodyHitbox")
|
||||
play_sfx_on_hit = true
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("6_bjt0v")
|
||||
hitbox = NodePath("../BodyHitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_rjgwh")
|
||||
hitbox = NodePath("../BodyHitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="IcicleDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("8_1jb5g")
|
||||
hitbox = NodePath("../HeadHitbox")
|
||||
metadata/_custom_type_script = "uid://dq860i312isk"
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("9_klwvr")
|
||||
detection_type = 1
|
||||
hitbox = NodePath("../BodyHitbox")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("10_wuthq")
|
||||
hitbox = NodePath("../BodyHitbox")
|
||||
metadata/_custom_type_script = "uid://ba18grqjixded"
|
||||
|
||||
[node name="BodyHitbox" type="Area2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(0.9, 1)
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="BodyHitbox"]
|
||||
shape = SubResource("RectangleShape2D_rjgwh")
|
||||
|
||||
[node name="HeadHitbox" type="Area2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="HeadHitbox"]
|
||||
shape = SubResource("RectangleShape2D_mpg4k")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(0, -168)
|
||||
rect = Rect2(-10, 0, 20, 176)
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("11_8aome")
|
||||
visuals = NodePath("../Parts")
|
||||
metadata/_custom_type_script = "uid://dlq6o2rg1x7in"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("12_b54ls")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("13_30hxr")
|
||||
properties = Array[String](["length"])
|
||||
|
||||
[node name="PartHandler" type="Node" parent="."]
|
||||
process_mode = 3
|
||||
script = SubResource("GDScript_30hxr")
|
||||
|
||||
[connection signal="killed" from="." to="." method="summon_part_gibs" unbinds=1]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="." method="die_from_object"]
|
||||
[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="." method="damage_player"]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="icicle_detected" from="IcicleDetection" to="." method="die_from_object"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
374
Scenes/Prefabs/Entities/Enemies/RaceBoo.tscn
Normal file
374
Scenes/Prefabs/Entities/Enemies/RaceBoo.tscn
Normal file
@@ -0,0 +1,374 @@
|
||||
[gd_scene load_steps=37 format=3 uid="uid://bbrkol4k3yobq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b43onpjaw542l" path="res://Scripts/Classes/Entities/Enemies/RaceBoo.gd" id="1_d640j"]
|
||||
[ext_resource type="Texture2D" uid="uid://c3l6ynlufxcfp" path="res://Assets/Sprites/Enemies/Boo.png" id="2_5odtl"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_4ikdy"]
|
||||
[ext_resource type="Texture2D" uid="uid://dtemc0qgag20j" path="res://Assets/Sprites/UI/BooIcon.png" id="3_5odtl"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_6dgmd"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/RaceBoo.json" id="5_6dgmd"]
|
||||
[ext_resource type="Texture2D" uid="uid://sgrcmlktp2dk" path="res://Assets/Sprites/Particles/SRankParticles.png" id="6_6dgmd"]
|
||||
[ext_resource type="Script" uid="uid://364rywt44hy6" path="res://Scripts/Classes/UI/PackSprite.gd" id="7_sfl3g"]
|
||||
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="9_xux50"]
|
||||
[ext_resource type="Texture2D" uid="uid://cr6iro3hmjl7f" path="res://Assets/Sprites/Particles/GoldParticles.png" id="10_4hd5m"]
|
||||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="11_kx23c"]
|
||||
[ext_resource type="Texture2D" uid="uid://dboi14xptkew3" path="res://Assets/Sprites/UI/BooWarning.png" id="12_4hd5m"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mm3k3"]
|
||||
atlas = ExtResource("2_5odtl")
|
||||
region = Rect2(16, 48, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nk4wu"]
|
||||
atlas = ExtResource("2_5odtl")
|
||||
region = Rect2(0, 48, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ede5m"]
|
||||
atlas = ExtResource("2_5odtl")
|
||||
region = Rect2(16, 64, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_pinst"]
|
||||
atlas = ExtResource("2_5odtl")
|
||||
region = Rect2(0, 64, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_u5tsp"]
|
||||
atlas = ExtResource("2_5odtl")
|
||||
region = Rect2(16, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xx8pl"]
|
||||
atlas = ExtResource("2_5odtl")
|
||||
region = Rect2(0, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jrwk8"]
|
||||
atlas = ExtResource("2_5odtl")
|
||||
region = Rect2(16, 32, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fwe35"]
|
||||
atlas = ExtResource("2_5odtl")
|
||||
region = Rect2(0, 32, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e7l5x"]
|
||||
atlas = ExtResource("2_5odtl")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_d7k1s"]
|
||||
atlas = ExtResource("2_5odtl")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_f71ce"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mm3k3")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"BlackIdle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nk4wu")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"BlackMove",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ede5m")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"GoldIdle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_pinst")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"GoldMove",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_u5tsp")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"GreenIdle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xx8pl")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"GreenMove",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jrwk8")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"RedIdle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fwe35")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"RedMove",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e7l5x")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"WhiteIdle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_d7k1s")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"WhiteMove",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_cst5p"]
|
||||
resource_name = "Bob"
|
||||
loop_mode = 2
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, -8), Vector2(0, 8)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_m7tca"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, -16)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_4ikdy"]
|
||||
_data = {
|
||||
&"Bob": SubResource("Animation_cst5p"),
|
||||
&"RESET": SubResource("Animation_m7tca")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_5odtl"]
|
||||
resource_name = "CloseFlash"
|
||||
length = 0.5
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:modulate")
|
||||
tracks/0/interp = 0
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.25),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_6dgmd"]
|
||||
resource_name = "Fine"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4ikdy"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_sfl3g"]
|
||||
_data = {
|
||||
&"CloseFlash": SubResource("Animation_5odtl"),
|
||||
&"Fine": SubResource("Animation_6dgmd"),
|
||||
&"RESET": SubResource("Animation_4ikdy")
|
||||
}
|
||||
|
||||
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_sfl3g"]
|
||||
particles_animation = true
|
||||
particles_anim_h_frames = 7
|
||||
particles_anim_v_frames = 1
|
||||
particles_anim_loop = false
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_f71ce"]
|
||||
particle_flag_disable_z = true
|
||||
emission_shape = 6
|
||||
emission_ring_axis = Vector3(0, 0, 1)
|
||||
emission_ring_height = 8.0
|
||||
emission_ring_radius = 10.0
|
||||
emission_ring_inner_radius = 8.0
|
||||
emission_ring_cone_angle = 90.0
|
||||
gravity = Vector3(0, 0, 0)
|
||||
anim_speed_min = 2.0
|
||||
anim_speed_max = 2.0
|
||||
|
||||
[sub_resource type="Resource" id="Resource_2ic4s"]
|
||||
script = ExtResource("11_kx23c")
|
||||
Overworld = ExtResource("10_4hd5m")
|
||||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kx23c"]
|
||||
resource_name = "Blink"
|
||||
length = 0.5
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("TextureRect:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.25),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2ic4s"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("TextureRect:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_it5le"]
|
||||
_data = {
|
||||
&"Blink": SubResource("Animation_kx23c"),
|
||||
&"RESET": SubResource("Animation_2ic4s")
|
||||
}
|
||||
|
||||
[node name="RaceBoo" type="Node2D" groups=["Enemies"]]
|
||||
physics_interpolation_mode = 2
|
||||
script = ExtResource("1_d640j")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
process_mode = 3
|
||||
position = Vector2(0, -16)
|
||||
sprite_frames = SubResource("SpriteFrames_f71ce")
|
||||
animation = &"BlackIdle"
|
||||
flip_h = true
|
||||
script = ExtResource("3_4ikdy")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Sprite"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_4ikdy")
|
||||
}
|
||||
autoplay = "Bob"
|
||||
|
||||
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="Sprite"]
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_6dgmd")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_6dgmd")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sprite"]
|
||||
remote_path = NodePath("../../GoldParticles")
|
||||
|
||||
[node name="OffScreenIcon" type="Sprite2D" parent="."]
|
||||
physics_interpolation_mode = 2
|
||||
visible = false
|
||||
top_level = true
|
||||
visibility_layer = 2
|
||||
texture = ExtResource("3_5odtl")
|
||||
hframes = 5
|
||||
region_rect = Rect2(0, 0, 16, 16)
|
||||
script = ExtResource("7_sfl3g")
|
||||
metadata/_custom_type_script = "uid://364rywt44hy6"
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="OffScreenIcon"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_sfl3g")
|
||||
}
|
||||
|
||||
[node name="GoldParticles" type="GPUParticles2D" parent="."]
|
||||
z_index = 1
|
||||
material = SubResource("CanvasItemMaterial_sfl3g")
|
||||
position = Vector2(0, -16)
|
||||
texture = ExtResource("6_6dgmd")
|
||||
randomness = 0.12
|
||||
process_material = SubResource("ParticleProcessMaterial_f71ce")
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="GoldParticles" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("9_xux50")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
themed_resource = SubResource("Resource_2ic4s")
|
||||
metadata/_custom_type_script = "uid://cq6f682453q6o"
|
||||
|
||||
[node name="Warning" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="Warning"]
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -45.0
|
||||
offset_top = -34.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
texture = ExtResource("12_4hd5m")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Warning"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_it5le")
|
||||
}
|
||||
autoplay = "Blink"
|
||||
speed_scale = 1.5
|
44
Scenes/Prefabs/Entities/Enemies/RedCheepCheep.tscn
Normal file
44
Scenes/Prefabs/Entities/Enemies/RedCheepCheep.tscn
Normal file
@@ -0,0 +1,44 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://d04e1qv3si8j"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bdirphnfabey8" path="res://Scenes/Prefabs/Entities/Enemies/GreenCheepCheep.tscn" id="1_ie2kx"]
|
||||
[ext_resource type="Texture2D" uid="uid://dbq7oso3fo4n6" path="res://Assets/Sprites/Enemies/CheepCheep.png" id="2_y5sv7"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/RedCheepCheep.json" id="3_871bq"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_plbrw"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mrggu"]
|
||||
atlas = ExtResource("2_y5sv7")
|
||||
region = Rect2(0, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dduxq"]
|
||||
atlas = ExtResource("2_y5sv7")
|
||||
region = Rect2(16, 16, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_a8obf"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mrggu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dduxq")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[node name="CheepCheep" instance=ExtResource("1_ie2kx")]
|
||||
move_speed = 45
|
||||
|
||||
[node name="Sprite" parent="." index="0"]
|
||||
sprite_frames = SubResource("SpriteFrames_a8obf")
|
||||
|
||||
[node name="ResourceSetterNew" parent="Sprite" index="2"]
|
||||
resource_json = ExtResource("3_871bq")
|
||||
|
||||
[node name="ResourceSetterNew2" type="Node" parent="Sprite" index="3" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_plbrw")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("3_871bq")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
23
Scenes/Prefabs/Entities/Enemies/RedKoopaParaTroopa.tscn
Normal file
23
Scenes/Prefabs/Entities/Enemies/RedKoopaParaTroopa.tscn
Normal file
@@ -0,0 +1,23 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://doguqwqut2s5e"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cmvugag0kupgu" path="res://Scenes/Prefabs/Entities/Enemies/RedKoopaTroopa.tscn" id="1_7ppsp"]
|
||||
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="2_7ppsp"]
|
||||
[ext_resource type="Texture2D" uid="uid://dpdrrkqtcedgm" path="res://Assets/Sprites/Tilesets/DottedLine.png" id="3_q8ix4"]
|
||||
|
||||
[node name="RedKoopaTroopa" instance=ExtResource("1_7ppsp")]
|
||||
winged = true
|
||||
|
||||
[node name="Wing" parent="Sprite" index="1"]
|
||||
visible = true
|
||||
frame_progress = 0.539258
|
||||
|
||||
[node name="Node2D" type="Node2D" parent="." index="15"]
|
||||
script = ExtResource("2_7ppsp")
|
||||
|
||||
[node name="Line2D" type="Line2D" parent="Node2D" index="0"]
|
||||
visibility_layer = 2
|
||||
texture_repeat = 2
|
||||
points = PackedVector2Array(0, 0, 0, 96)
|
||||
width = 1.0
|
||||
texture = ExtResource("3_q8ix4")
|
||||
texture_mode = 1
|
21
Scenes/Prefabs/Entities/Enemies/RedKoopaTroopa.tscn
Normal file
21
Scenes/Prefabs/Entities/Enemies/RedKoopaTroopa.tscn
Normal file
@@ -0,0 +1,21 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cmvugag0kupgu"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://r6dlmokkdyar" path="res://Scenes/Prefabs/Entities/Enemies/GreenKoopaTroopa.tscn" id="1_3ce3s"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/RedKoopaTroopa.json" id="2_ji0l7"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/RedKoopaShell.json" id="3_870t0"]
|
||||
|
||||
[node name="RedKoopaTroopa" instance=ExtResource("1_3ce3s")]
|
||||
shell_scene = "uid://dam4dqebjgk1n"
|
||||
metadata/is_red = true
|
||||
|
||||
[node name="ResourceSetterNew" parent="Sprite" index="0"]
|
||||
resource_json = ExtResource("2_ji0l7")
|
||||
|
||||
[node name="ResourceSetterNew" parent="DeathSprite" index="0"]
|
||||
resource_json = ExtResource("3_870t0")
|
||||
|
||||
[node name="LedgeDetectionCast" parent="." index="5"]
|
||||
position = Vector2(-2, -2)
|
||||
|
||||
[node name="BasicEnemyMovement" parent="." index="14" node_paths=PackedStringArray("ledge_detection_cast")]
|
||||
ledge_detection_cast = NodePath("../LedgeDetectionCast")
|
50
Scenes/Prefabs/Entities/Enemies/RedPiranhaPlant.tscn
Normal file
50
Scenes/Prefabs/Entities/Enemies/RedPiranhaPlant.tscn
Normal file
@@ -0,0 +1,50 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://kj5pw3xhq8f7"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://1rxw4k4wq3ni" path="res://Scenes/Prefabs/Entities/Enemies/PiranhaPlant.tscn" id="1_6wd2m"]
|
||||
[ext_resource type="Texture2D" uid="uid://dbq6cn2hp6ijx" path="res://Assets/Sprites/Enemies/PiranhaPlant.png" id="2_jkccd"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/RedPiranhaPlant.json" id="3_jkccd"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xlwxk"]
|
||||
atlas = ExtResource("2_jkccd")
|
||||
region = Rect2(0, 0, 16, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4qm6i"]
|
||||
atlas = ExtResource("2_jkccd")
|
||||
region = Rect2(16, 0, 16, 24)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_ep4ch"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xlwxk")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4qm6i")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[node name="RedPirannhaPlant" instance=ExtResource("1_6wd2m")]
|
||||
player_range = 16
|
||||
|
||||
[node name="Sprite" parent="." index="0"]
|
||||
sprite_frames = SubResource("SpriteFrames_ep4ch")
|
||||
frame_progress = 0.762071
|
||||
|
||||
[node name="CollisionShape2D" parent="Sprite/Hitbox" index="0"]
|
||||
visible = false
|
||||
position = Vector2(0, -9.75)
|
||||
|
||||
[node name="ResourceSetterNew" parent="Sprite" index="1"]
|
||||
resource_json = ExtResource("3_jkccd")
|
||||
|
||||
[node name="Animation" parent="." index="1"]
|
||||
speed_scale = 2.0
|
||||
|
||||
[node name="ResourceSetterNew" parent="LevelEditorVisibleNode/Sprite" index="0"]
|
||||
resource_json = ExtResource("3_jkccd")
|
||||
|
||||
[node name="SecondQuestReplacer" parent="." index="9"]
|
||||
new_scene = ""
|
407
Scenes/Prefabs/Entities/Enemies/RockyWrench.tscn
Normal file
407
Scenes/Prefabs/Entities/Enemies/RockyWrench.tscn
Normal file
@@ -0,0 +1,407 @@
|
||||
[gd_scene load_steps=34 format=3 uid="uid://c3m38c2skawpj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bfsh8bhcmknkh" path="res://Scripts/Classes/Entities/Enemies/RockyWrench.gd" id="1_pl7bt"]
|
||||
[ext_resource type="Texture2D" uid="uid://bfora2lrmtyj4" path="res://Assets/Sprites/Enemies/RockyWrench.png" id="2_8y80u"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_4h1b4"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_wom81"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/RockyWrench.json" id="4_pl7bt"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="5_4h1b4"]
|
||||
[ext_resource type="Script" uid="uid://bx6r8sjar6cwr" path="res://Scripts/Classes/Components/BasicStaticMovement.gd" id="5_8y80u"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="7_pl7bt"]
|
||||
[ext_resource type="Texture2D" uid="uid://cop8x5m20cqal" path="res://Assets/Sprites/Items/WrenchProjectile.png" id="7_w66sd"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="8_nqvoc"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/WrenchProjectile.json" id="9_kxgad"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="9_nxn7i"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="10_w66sd"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="13_h21ug"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="14_el25t"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nqvoc"]
|
||||
atlas = ExtResource("2_8y80u")
|
||||
region = Rect2(16, 0, 16, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3dqyr"]
|
||||
atlas = ExtResource("2_8y80u")
|
||||
region = Rect2(48, 0, 16, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nxn7i"]
|
||||
atlas = ExtResource("2_8y80u")
|
||||
region = Rect2(64, 0, 16, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w66sd"]
|
||||
atlas = ExtResource("2_8y80u")
|
||||
region = Rect2(0, 0, 16, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wom81"]
|
||||
atlas = ExtResource("2_8y80u")
|
||||
region = Rect2(32, 0, 16, 32)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_h21ug"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nqvoc")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Aim",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3dqyr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nxn7i")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Die",
|
||||
"speed": 10.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w66sd")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wom81")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"Throw",
|
||||
"speed": 15.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_pl7bt"]
|
||||
size = Vector2(14, 21)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_nqvoc"]
|
||||
size = Vector2(11, 13)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bn4i0"]
|
||||
atlas = ExtResource("7_w66sd")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ytcl6"]
|
||||
atlas = ExtResource("7_w66sd")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tf2mk"]
|
||||
atlas = ExtResource("7_w66sd")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nfd5u"]
|
||||
atlas = ExtResource("7_w66sd")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_el25t"]
|
||||
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="Animation" id="Animation_nqvoc"]
|
||||
resource_name = "PeekOut"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5, 2, 2.25),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 12), Vector2(0, 9), Vector2(0, 9), Vector2(0, 12)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite/Wrench:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath(".:can_stomp")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 2.2666667),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_4h1b4"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 12)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite/Wrench:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath(".:can_stomp")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_pl7bt"]
|
||||
resource_name = "Throw"
|
||||
length = 3.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5, 2.0333333, 2.2666667),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 12), Vector2(0, 0), Vector2(0, 0), Vector2(0, 12)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite/Wrench:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/2/type = "method"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath(".")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(1),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"throw_wrench"
|
||||
}]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath(".:can_stomp")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 3.7333336),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3dqyr"]
|
||||
_data = {
|
||||
&"PeekOut": SubResource("Animation_nqvoc"),
|
||||
&"RESET": SubResource("Animation_4h1b4"),
|
||||
&"Throw": SubResource("Animation_pl7bt")
|
||||
}
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_h4tv3"]
|
||||
size = Vector2(14, 4)
|
||||
|
||||
[node name="RockyWrench" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
z_index = -5
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_pl7bt")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, 12)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_h21ug")
|
||||
animation = &"Idle"
|
||||
frame_progress = 0.31085846
|
||||
flip_h = true
|
||||
script = ExtResource("3_wom81")
|
||||
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_4h1b4")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_pl7bt")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="StompHitbox" type="Area2D" parent="Sprite"]
|
||||
position = Vector2(0, -11)
|
||||
script = ExtResource("5_4h1b4")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite/StompHitbox"]
|
||||
position = Vector2(0, 2.5)
|
||||
shape = SubResource("RectangleShape2D_pl7bt")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="Sprite/StompHitbox" node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_pl7bt")
|
||||
hitbox = NodePath("..")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Sprite"]
|
||||
position = Vector2(0, -14)
|
||||
remote_path = NodePath("../../AnimatableBody2D")
|
||||
|
||||
[node name="EntityHitbox" type="Area2D" parent="Sprite"]
|
||||
position = Vector2(0, -12)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite/EntityHitbox"]
|
||||
position = Vector2(-0.5, 7.5)
|
||||
shape = SubResource("RectangleShape2D_nqvoc")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="Sprite/EntityHitbox" node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_pl7bt")
|
||||
hitbox = NodePath("..")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="Wrench" type="AnimatedSprite2D" parent="Sprite"]
|
||||
visible = false
|
||||
position = Vector2(-3, -14)
|
||||
sprite_frames = SubResource("SpriteFrames_el25t")
|
||||
animation = &"Idle"
|
||||
autoplay = "Idle"
|
||||
script = ExtResource("3_wom81")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite/Wrench" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_4h1b4")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("9_kxgad")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="BasicStaticMovement" type="Node" parent="."]
|
||||
script = ExtResource("5_8y80u")
|
||||
metadata/_custom_type_script = "uid://bx6r8sjar6cwr"
|
||||
|
||||
[node name="Animations" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_3dqyr")
|
||||
}
|
||||
|
||||
[node name="AnimatableBody2D" type="AnimatableBody2D" parent="."]
|
||||
position = Vector2(0, -2)
|
||||
rotation = 3.1415927
|
||||
scale = Vector2(1, -1)
|
||||
|
||||
[node name="PlayerPlatform" type="CollisionShape2D" parent="AnimatableBody2D"]
|
||||
shape = SubResource("RectangleShape2D_h4tv3")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -2)
|
||||
shape = SubResource("RectangleShape2D_h4tv3")
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("8_nqvoc")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("9_nxn7i")
|
||||
hitbox = NodePath("../Sprite/EntityHitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("10_w66sd")
|
||||
hitbox = NodePath("../Sprite/EntityHitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
rect = Rect2(-10, -10, 20, 29)
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("13_h21ug")
|
||||
hitbox = NodePath("../Sprite/EntityHitbox")
|
||||
metadata/_custom_type_script = "uid://ba18grqjixded"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("14_el25t")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[connection signal="player_stomped_on" from="Sprite/StompHitbox/EnemyPlayerDetection" to="." method="on_player_stomped_on"]
|
||||
[connection signal="invincible_player_hit" from="Sprite/EntityHitbox/EnemyPlayerDetection" to="." method="die_from_object"]
|
||||
[connection signal="player_hit" from="Sprite/EntityHitbox/EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="gib_about_to_spawn" from="GibSpawner" to="Sprite/Wrench" method="hide"]
|
||||
[connection signal="gib_about_to_spawn" from="GibSpawner" to="Sprite" method="set_flip_v" binds= [true]]
|
||||
[connection signal="gib_about_to_spawn" from="GibSpawner" to="Sprite" method="play" binds= ["Dead"]]
|
||||
[connection signal="gib_about_to_spawn" from="GibSpawner" to="Sprite" method="set_offset" binds= [Vector2(0, -8)]]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="." method="die_from_object"]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [500]]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="timeout" from="Timer" to="." method="on_timeout"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [500]]
|
158
Scenes/Prefabs/Entities/Enemies/SideStepper.tscn
Normal file
158
Scenes/Prefabs/Entities/Enemies/SideStepper.tscn
Normal file
@@ -0,0 +1,158 @@
|
||||
[gd_scene load_steps=22 format=3 uid="uid://cs40v66vkl6qi"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dv18do583a3x0" path="res://Scripts/Classes/Entities/Enemies/Goomba.gd" id="1_vwosn"]
|
||||
[ext_resource type="Texture2D" uid="uid://caea5pxv4aawt" path="res://Assets/Sprites/Enemies/SideStepper.png" id="2_vwosn"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_qknq8"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/SideStepper.json" id="5_7cy7x"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="5_orhyp"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_qknq8"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="7_0qgy2"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="8_5lh26"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="9_22ule"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="10_j1ueu"]
|
||||
[ext_resource type="Script" uid="uid://dq860i312isk" path="res://Scripts/Classes/Components/IcicleDetection.gd" id="11_bwulv"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="12_sl01l"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="14_0qgy2"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="14_orhyp"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7cy7x"]
|
||||
atlas = ExtResource("2_vwosn")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_orhyp"]
|
||||
atlas = ExtResource("2_vwosn")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_22ule"]
|
||||
atlas = ExtResource("2_vwosn")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_j1ueu"]
|
||||
atlas = ExtResource("2_vwosn")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_877ec"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7cy7x")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_orhyp")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Angry",
|
||||
"speed": 10.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_22ule")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_j1ueu")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Walk",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_e62ic"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_qm5my"]
|
||||
size = Vector2(14, 14)
|
||||
|
||||
[node name="SideStepper" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 50
|
||||
script = ExtResource("1_vwosn")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_877ec")
|
||||
animation = &"Walk"
|
||||
frame_progress = 0.9589298
|
||||
offset = Vector2(0, 1)
|
||||
script = ExtResource("3_qknq8")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("14_0qgy2")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_7cy7x")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="LCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -6)
|
||||
rotation = 1.5707964
|
||||
shape = SubResource("RectangleShape2D_e62ic")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="RCollision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -6)
|
||||
rotation = -1.5707964
|
||||
shape = SubResource("RectangleShape2D_e62ic")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
visible = false
|
||||
position = Vector2(0, -7)
|
||||
shape = SubResource("RectangleShape2D_qm5my")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_orhyp")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("6_qknq8")
|
||||
visuals = NodePath("../Sprite")
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="."]
|
||||
script = ExtResource("7_0qgy2")
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("8_5lh26")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("9_22ule")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("10_j1ueu")
|
||||
add_score = true
|
||||
|
||||
[node name="IcicleDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("11_bwulv")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="."]
|
||||
script = ExtResource("12_sl01l")
|
||||
metadata/_custom_type_script = "uid://dlq6o2rg1x7in"
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("14_orhyp")
|
||||
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="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="damage"]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="." method="damage"]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="icicle_detected" from="IcicleDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
154
Scenes/Prefabs/Entities/Enemies/Sigebou.tscn
Normal file
154
Scenes/Prefabs/Entities/Enemies/Sigebou.tscn
Normal file
@@ -0,0 +1,154 @@
|
||||
[gd_scene load_steps=23 format=3 uid="uid://b526l00ycqca3"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dv18do583a3x0" path="res://Scripts/Classes/Entities/Enemies/Goomba.gd" id="1_ngqvx"]
|
||||
[ext_resource type="Texture2D" uid="uid://dtqjo5uvw6s0g" path="res://Assets/Sprites/Enemies/Sigebou.png" id="2_jkcbp"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_fqftj"]
|
||||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="4_6tape"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_bhka3"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Sigebou.json" id="5_7b1wr"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="5_bhka3"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_7b1wr"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="7_g6e7j"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="8_eg68x"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="9_rqo8s"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="10_y7r83"]
|
||||
[ext_resource type="Script" uid="uid://dq860i312isk" path="res://Scripts/Classes/Components/IcicleDetection.gd" id="11_i4utn"]
|
||||
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="12_6tape"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="12_n4k0p"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bhka3"]
|
||||
atlas = ExtResource("2_jkcbp")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7b1wr"]
|
||||
atlas = ExtResource("2_jkcbp")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_g6e7j"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bhka3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7b1wr")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_e62ic"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_qm5my"]
|
||||
size = Vector2(14, 14)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_eg68x"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bhka3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7b1wr")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_rqo8s"]
|
||||
script = ExtResource("4_6tape")
|
||||
Overworld = SubResource("SpriteFrames_eg68x")
|
||||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||||
|
||||
[node name="Sigebou" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 50
|
||||
script = ExtResource("1_ngqvx")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_g6e7j")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.809314
|
||||
flip_h = true
|
||||
script = ExtResource("3_fqftj")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_bhka3")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_7b1wr")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -6)
|
||||
shape = SubResource("RectangleShape2D_e62ic")
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_qm5my")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_bhka3")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("6_7b1wr")
|
||||
visuals = NodePath("../Sprite")
|
||||
gib_type = 2
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="."]
|
||||
script = ExtResource("7_g6e7j")
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("8_eg68x")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
play_sfx_on_hit = true
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("9_rqo8s")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("10_y7r83")
|
||||
add_score = true
|
||||
|
||||
[node name="Node" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("11_i4utn")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("12_n4k0p")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://dlq6o2rg1x7in"
|
||||
|
||||
[node name="ThemedToJSONConverter" type="Node" parent="."]
|
||||
script = ExtResource("12_6tape")
|
||||
resource = SubResource("Resource_rqo8s")
|
||||
json_file_path = "res://Assets/Sprites/Enemies/Sigebou.json"
|
||||
metadata/_custom_type_script = "uid://cqif1li7otvpl"
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[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= [100]]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="die_from_object"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [100]]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="icicle_detected" from="Node" to="." method="die_from_object"]
|
310
Scenes/Prefabs/Entities/Enemies/Spike.tscn
Normal file
310
Scenes/Prefabs/Entities/Enemies/Spike.tscn
Normal file
@@ -0,0 +1,310 @@
|
||||
[gd_scene load_steps=30 format=3 uid="uid://dbob4iexex6yp"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://4isgtypd8yqc" path="res://Scripts/Classes/Entities/Enemies/Spike.gd" id="1_5cp2h"]
|
||||
[ext_resource type="Texture2D" uid="uid://drf0xqp7af1bx" path="res://Assets/Sprites/Enemies/Spike.png" id="2_dd7on"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_5cp2h"]
|
||||
[ext_resource type="Texture2D" uid="uid://dtn3el3cobo42" path="res://Assets/Sprites/Items/SpikeBall.png" id="3_m8jkd"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="3_wml2i"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="4_w6nqc"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="5_ddx5o"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="5_w6nqc"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Spike.json" id="6_dhnkc"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="6_iboug"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/SpikeBall.json" id="7_l0d5l"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="7_m8jkd"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="12_dhnkc"]
|
||||
[ext_resource type="Script" uid="uid://bx6r8sjar6cwr" path="res://Scripts/Classes/Components/BasicStaticMovement.gd" id="13_vg6vt"]
|
||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="14_px5di"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="15_5pdnx"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5cp2h"]
|
||||
atlas = ExtResource("2_dd7on")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w1p0q"]
|
||||
atlas = ExtResource("2_dd7on")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ddx5o"]
|
||||
atlas = ExtResource("2_dd7on")
|
||||
region = Rect2(64, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dhnkc"]
|
||||
atlas = ExtResource("2_dd7on")
|
||||
region = Rect2(80, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wml2i"]
|
||||
atlas = ExtResource("2_dd7on")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w6nqc"]
|
||||
atlas = ExtResource("2_dd7on")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_0q3vy"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5cp2h")
|
||||
}, {
|
||||
"duration": 2.0,
|
||||
"texture": SubResource("AtlasTexture_w1p0q")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ddx5o")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dhnkc")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"GrabBall",
|
||||
"speed": 10.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wml2i")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w6nqc")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vg6vt"]
|
||||
resource_name = "BallSpawn"
|
||||
tracks/0/type = "method"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [&"GrabBall", 1.0, false],
|
||||
"method": &"play"
|
||||
}]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite/Ball:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Sprite/Ball:position")
|
||||
tracks/2/interp = 2
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 0.3, 0.4, 0.866667, 0.966667, 1),
|
||||
"transitions": PackedFloat32Array(1, 1, 1e-05, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0), Vector2(0, -17), Vector2(0, -14), Vector2(0, -14), Vector2(-3, -14), Vector2(0, -14)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_5cp2h"]
|
||||
resource_name = "Idle"
|
||||
tracks/0/type = "method"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [&"Idle", 1.0, false],
|
||||
"method": &"play"
|
||||
}]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite/Ball:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_w1p0q"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite/Ball:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Sprite/Ball: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="AnimationLibrary" id="AnimationLibrary_px5di"]
|
||||
_data = {
|
||||
&"BallSpawn": SubResource("Animation_vg6vt"),
|
||||
&"Idle": SubResource("Animation_5cp2h"),
|
||||
&"RESET": SubResource("Animation_w1p0q")
|
||||
}
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_r5um5"]
|
||||
size = Vector2(10, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_dd7on"]
|
||||
size = Vector2(10, 12)
|
||||
|
||||
[node name="Spike" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_5cp2h")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_0q3vy")
|
||||
animation = &"GrabBall"
|
||||
autoplay = "Idle"
|
||||
frame = 3
|
||||
frame_progress = 1.0
|
||||
offset = Vector2(0, 1)
|
||||
flip_h = true
|
||||
script = ExtResource("3_5cp2h")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="Animations" type="AnimationPlayer" parent="Sprite"]
|
||||
unique_name_in_owner = true
|
||||
root_node = NodePath("../..")
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_px5di")
|
||||
}
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("5_ddx5o")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("6_dhnkc")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Ball" type="Sprite2D" parent="Sprite"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
show_behind_parent = true
|
||||
rotation = 3.14159
|
||||
scale = Vector2(1, -1)
|
||||
texture = ExtResource("3_m8jkd")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite/Ball" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("5_ddx5o")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("7_l0d5l")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("RectangleShape2D_r5um5")
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -6)
|
||||
shape = SubResource("RectangleShape2D_dd7on")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("3_wml2i")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("4_w6nqc")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("5_w6nqc")
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("6_iboug")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
play_sfx_on_hit = true
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_m8jkd")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="ThrowTimer" type="Timer" parent="."]
|
||||
wait_time = 5.0
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(0, -9)
|
||||
|
||||
[node name="Movement" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("12_dhnkc")
|
||||
auto_call = false
|
||||
visuals = NodePath("../Sprite")
|
||||
|
||||
[node name="TurnTimer" type="Timer" parent="."]
|
||||
wait_time = 2.0
|
||||
|
||||
[node name="StaticMovement" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("13_vg6vt")
|
||||
auto_call = false
|
||||
visuals = NodePath("../Sprite")
|
||||
|
||||
[node name="EditorPropertyExposer" type="Node" parent="."]
|
||||
script = ExtResource("14_px5di")
|
||||
properties = Array[String](["can_move"])
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("15_5pdnx")
|
||||
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="invincible_player_hit" from="EnemyPlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [500]]
|
||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="GibSpawner" method="stomp_die"]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="." method="die_from_object"]
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [500]]
|
||||
[connection signal="moving_shell_entered" from="ShellDetection" to="." method="die_from_object"]
|
||||
[connection signal="timeout" from="ThrowTimer" to="." method="throw_ball"]
|
||||
[connection signal="timeout" from="TurnTimer" to="." method="on_timeout"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [500]]
|
171
Scenes/Prefabs/Entities/Enemies/Spiny.tscn
Normal file
171
Scenes/Prefabs/Entities/Enemies/Spiny.tscn
Normal file
@@ -0,0 +1,171 @@
|
||||
[gd_scene load_steps=22 format=3 uid="uid://dinpjmg0q23rv"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bds7rntb0btee" path="res://Scripts/Classes/Entities/Enemies/Spiny.gd" id="1_u8w4p"]
|
||||
[ext_resource type="Texture2D" uid="uid://diemx33h3bxa2" path="res://Assets/Sprites/Enemies/Spiny.png" id="2_u8w4p"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_velug"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Spiny.json" id="4_a74i7"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="4_qcd6q"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="5_f6841"]
|
||||
[ext_resource type="Script" uid="uid://bbww34oiexbx2" path="res://Scripts/Classes/Components/ShellDetection.gd" id="6_velug"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="7_a74i7"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="8_j3bt6"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="10_a74i7"]
|
||||
[ext_resource type="Script" uid="uid://ba18grqjixded" path="res://Scripts/Classes/Components/ExplosionDetection.gd" id="11_yhsi8"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="12_7f13k"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="13_7f13k"]
|
||||
[ext_resource type="Script" uid="uid://33no4mylhh1r" path="res://Scripts/Classes/Components/OffScreenDespawner.gd" id="14_878x2"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_evl61"]
|
||||
atlas = ExtResource("2_u8w4p")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_s2w10"]
|
||||
atlas = ExtResource("2_u8w4p")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qcd6q"]
|
||||
atlas = ExtResource("2_u8w4p")
|
||||
region = Rect2(0, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_r3qkt"]
|
||||
atlas = ExtResource("2_u8w4p")
|
||||
region = Rect2(16, 16, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_evl61"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_evl61")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_s2w10")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Egg",
|
||||
"speed": 10.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qcd6q")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_r3qkt")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Walk",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_s2w10"]
|
||||
custom_solver_bias = 1.0
|
||||
size = Vector2(10, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f6841"]
|
||||
custom_solver_bias = 1.0
|
||||
size = Vector2(10, 10)
|
||||
|
||||
[node name="Spiny" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 50
|
||||
script = ExtResource("1_u8w4p")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
scale = Vector2(-1, 1)
|
||||
sprite_frames = SubResource("SpriteFrames_evl61")
|
||||
animation = &"Walk"
|
||||
autoplay = "Walk"
|
||||
offset = Vector2(0, 1)
|
||||
flip_h = true
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_velug")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_a74i7")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("RectangleShape2D_s2w10")
|
||||
|
||||
[node name="RCollision" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -5)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("RectangleShape2D_f6841")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="LCollision" type="CollisionShape2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -5)
|
||||
rotation = -1.5708
|
||||
shape = SubResource("RectangleShape2D_f6841")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("4_qcd6q")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("5_f6841")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="ShellDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("6_velug")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://bbww34oiexbx2"
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("7_a74i7")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="."]
|
||||
script = ExtResource("8_j3bt6")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="."]
|
||||
script = ExtResource("10_a74i7")
|
||||
|
||||
[node name="ExplosionDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("11_yhsi8")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("12_7f13k")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="." node_paths=PackedStringArray("movement_node")]
|
||||
script = ExtResource("13_7f13k")
|
||||
movement_node = NodePath("../BasicEnemyMovement")
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[node name="OffScreenDespawner" type="Node" parent="."]
|
||||
script = ExtResource("14_878x2")
|
||||
metadata/_custom_type_script = "uid://33no4mylhh1r"
|
||||
|
||||
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
|
||||
[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="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="screen_exited" from="VisibleOnScreenEnabler2D" to="OffScreenDespawner" method="on_screen_exited"]
|
||||
[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="die_from_object"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="." method="die_from_object"]
|
||||
[connection signal="explosion_entered" from="ExplosionDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [200]]
|
150
Scenes/Prefabs/Entities/Enemies/Thwomp.tscn
Normal file
150
Scenes/Prefabs/Entities/Enemies/Thwomp.tscn
Normal file
@@ -0,0 +1,150 @@
|
||||
[gd_scene load_steps=19 format=3 uid="uid://dq6syqkg4qjf0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bxfc7hxw13s6q" path="res://Scripts/Classes/Entities/Enemies/Thwomp.gd" id="1_bl7l2"]
|
||||
[ext_resource type="Texture2D" uid="uid://dw5k3dr3kedw3" path="res://Assets/Sprites/Enemies/Thwomp.png" id="2_kdp37"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_bl7l2"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Thwomp.json" id="4_426pe"]
|
||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="5_gvuxk"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="6_5xuvp"]
|
||||
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="7_01c5y"]
|
||||
[ext_resource type="Script" uid="uid://dri2d5jtu0fbq" path="res://Scripts/Classes/Components/FireballDetection.gd" id="8_5xuvp"]
|
||||
[ext_resource type="Script" uid="uid://dq860i312isk" path="res://Scripts/Classes/Components/IcicleDetection.gd" id="9_01c5y"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="10_f8b23"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="11_jkv5r"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bl7l2"]
|
||||
atlas = ExtResource("2_kdp37")
|
||||
region = Rect2(48, 0, 24, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_426pe"]
|
||||
atlas = ExtResource("2_kdp37")
|
||||
region = Rect2(0, 0, 24, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_elu2h"]
|
||||
atlas = ExtResource("2_kdp37")
|
||||
region = Rect2(24, 0, 24, 32)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_gvuxk"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bl7l2")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Fall",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_426pe")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_elu2h")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Look",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_5xuvp"]
|
||||
size = Vector2(24, 31)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f8b23"]
|
||||
size = Vector2(20, 30)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_gvuxk"]
|
||||
size = Vector2(16, 1)
|
||||
|
||||
[node name="Thwomp" type="CharacterBody2D" node_paths=PackedStringArray("on_screen_enabler", "score_note_adder") groups=["Enemies"]]
|
||||
collision_layer = 16
|
||||
collision_mask = 6
|
||||
script = ExtResource("1_bl7l2")
|
||||
on_screen_enabler = NodePath("VisibleOnScreenEnabler2D")
|
||||
score_note_adder = NodePath("ScoreNoteSpawner")
|
||||
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(0, -16)
|
||||
sprite_frames = SubResource("SpriteFrames_gvuxk")
|
||||
animation = &"Idle"
|
||||
autoplay = "Idle"
|
||||
offset = Vector2(0, 1)
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_bl7l2")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_426pe")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -15.5)
|
||||
shape = SubResource("RectangleShape2D_5xuvp")
|
||||
one_way_collision = true
|
||||
|
||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||
position = Vector2(0, -16)
|
||||
rect = Rect2(-16, -24, 32, 512)
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -16)
|
||||
shape = SubResource("RectangleShape2D_f8b23")
|
||||
|
||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("5_gvuxk")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("6_5xuvp")
|
||||
detection_type = 1
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
|
||||
script = ExtResource("7_01c5y")
|
||||
visuals = NodePath("../Sprite")
|
||||
metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
|
||||
|
||||
[node name="BlockBreakingHitbox" type="Area2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
collision_layer = 0
|
||||
collision_mask = 6
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="BlockBreakingHitbox"]
|
||||
position = Vector2(0, 0.5)
|
||||
shape = SubResource("RectangleShape2D_gvuxk")
|
||||
|
||||
[node name="FireballDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("8_5xuvp")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
play_sfx_on_hit = true
|
||||
metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
|
||||
|
||||
[node name="IcicleDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("9_01c5y")
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://dq860i312isk"
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="."]
|
||||
script = ExtResource("10_f8b23")
|
||||
disable_physics = false
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("11_jkv5r")
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[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="damage_player"]
|
||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="die_from_object"]
|
17
Scenes/Prefabs/Entities/Enemies/TrueBowser.tscn
Normal file
17
Scenes/Prefabs/Entities/Enemies/TrueBowser.tscn
Normal file
@@ -0,0 +1,17 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://pfhvflypjq6y"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://duptcik2j0b04" path="res://Scenes/Prefabs/Entities/Enemies/Bowser.tscn" id="1_xtf8a"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Bowser.json" id="4_ryqkh"]
|
||||
|
||||
[node name="TrueBowser" instance=ExtResource("1_xtf8a")]
|
||||
can_hammer = true
|
||||
metadata/is_real = true
|
||||
|
||||
[node name="ResourceSetterNew" parent="SpriteScaleJoint/DeathSprite" index="0"]
|
||||
resource_json = ExtResource("4_ryqkh")
|
||||
|
||||
[node name="GibSpawner" parent="." index="8" node_paths=PackedStringArray("visuals")]
|
||||
visuals = NodePath("../SpriteScaleJoint/Sprite")
|
||||
gib_type = 1
|
||||
|
||||
[connection signal="fireball_hit" from="FireballDetection" to="." method="fireball_hit" unbinds=1]
|
13
Scenes/Prefabs/Entities/EntityGib.tscn
Normal file
13
Scenes/Prefabs/Entities/EntityGib.tscn
Normal file
@@ -0,0 +1,13 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://b4w3brnky14rv"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://sfu6fevr0yop" path="res://Scripts/Parts/EntityGib.gd" id="1_fif4p"]
|
||||
|
||||
[node name="EntityGib" type="Node2D"]
|
||||
script = ExtResource("1_fif4p")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 4.0
|
||||
one_shot = true
|
||||
autostart = true
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="queue_free"]
|
309
Scenes/Prefabs/Entities/Explosion.tscn
Executable file
309
Scenes/Prefabs/Entities/Explosion.tscn
Executable file
@@ -0,0 +1,309 @@
|
||||
[gd_scene load_steps=22 format=3 uid="uid://clbvyne1cr8gp"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ritdlvkpyjd4" path="res://Scripts/Classes/Entities/Objects/Explosion.gd" id="1_aklik"]
|
||||
[ext_resource type="Texture2D" uid="uid://brjkrkihadwnj" path="res://Assets/Sprites/Particles/FireballExplosion.png" id="2_4aiuq"]
|
||||
[ext_resource type="Texture2D" uid="uid://byy3k1pdrp77" path="res://Assets/Sprites/Particles/Smoke.png" id="3_dvv3e"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="4_hjivi"]
|
||||
[ext_resource type="AudioStream" uid="uid://d12v455mw8uvu" path="res://Assets/Audio/SFX/Cannon.wav" id="5_8imqq"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vnd2t"]
|
||||
atlas = ExtResource("2_4aiuq")
|
||||
region = Rect2(0, 0, 18, 18)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_axqny"]
|
||||
atlas = ExtResource("2_4aiuq")
|
||||
region = Rect2(18, 0, 18, 18)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vk8m3"]
|
||||
atlas = ExtResource("2_4aiuq")
|
||||
region = Rect2(36, 0, 18, 18)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vewww"]
|
||||
atlas = ExtResource("2_4aiuq")
|
||||
region = Rect2(54, 0, 18, 18)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_o5yus"]
|
||||
atlas = ExtResource("2_4aiuq")
|
||||
region = Rect2(0, 0, 1, 1)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_h02ee"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vnd2t")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_axqny")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vk8m3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vewww")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_o5yus")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"default",
|
||||
"speed": 20.0
|
||||
}]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4hp3l"]
|
||||
atlas = ExtResource("3_dvv3e")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_g2rj1"]
|
||||
atlas = ExtResource("3_dvv3e")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ccfgr"]
|
||||
atlas = ExtResource("3_dvv3e")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ei4ln"]
|
||||
atlas = ExtResource("3_dvv3e")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4umcr"]
|
||||
atlas = ExtResource("3_dvv3e")
|
||||
region = Rect2(64, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_pd384"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4hp3l")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_g2rj1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ccfgr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ei4ln")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4umcr")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"default",
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vrsgy"]
|
||||
resource_name = "Go"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("CloudTL:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(-8, -8), Vector2(-40, -40)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("CloudTR:position")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(8, -8), Vector2(40, -40)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("CloudBR:position")
|
||||
tracks/2/interp = 2
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(8, 8), Vector2(40, 40)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("CloudBL:position")
|
||||
tracks/3/interp = 2
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(-8, 8), Vector2(-40, 40)]
|
||||
}
|
||||
tracks/4/type = "method"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath(".")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(1),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"queue_free"
|
||||
}]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Hitbox/Shape:disabled")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0, 0.06),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_anr6o"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("CloudTL:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(-8, -8)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("CloudTR:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(8, -8)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("CloudBR:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(8, 8)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("CloudBL:position")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(-8, 8)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Hitbox/Shape:disabled")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6tdk1"]
|
||||
_data = {
|
||||
&"Go": SubResource("Animation_vrsgy"),
|
||||
&"RESET": SubResource("Animation_anr6o")
|
||||
}
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_6tdk1"]
|
||||
radius = 24.0
|
||||
|
||||
[node name="Explosion" type="Node2D"]
|
||||
script = ExtResource("1_aklik")
|
||||
metadata/is_explosion = true
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_h02ee")
|
||||
autoplay = "default"
|
||||
frame = 4
|
||||
frame_progress = 1.0
|
||||
|
||||
[node name="CloudTL" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(-8, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_pd384")
|
||||
autoplay = "default"
|
||||
frame = 4
|
||||
frame_progress = 1.0
|
||||
script = ExtResource("4_hjivi")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="CloudTR" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(8, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_pd384")
|
||||
autoplay = "default"
|
||||
frame = 4
|
||||
frame_progress = 1.0
|
||||
script = ExtResource("4_hjivi")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="CloudBR" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(8, 8)
|
||||
sprite_frames = SubResource("SpriteFrames_pd384")
|
||||
autoplay = "default"
|
||||
frame = 4
|
||||
frame_progress = 1.0
|
||||
script = ExtResource("4_hjivi")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="CloudBL" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(-8, 8)
|
||||
sprite_frames = SubResource("SpriteFrames_pd384")
|
||||
autoplay = "default"
|
||||
frame = 4
|
||||
frame_progress = 1.0
|
||||
script = ExtResource("4_hjivi")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_6tdk1")
|
||||
}
|
||||
autoplay = "Go"
|
||||
|
||||
[node name="SFX" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = ExtResource("5_8imqq")
|
||||
autoplay = true
|
||||
max_distance = 256.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_mask = 255
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
shape = SubResource("CircleShape2D_6tdk1")
|
||||
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="body_entered" from="Hitbox" to="." method="on_body_entered"]
|
21
Scenes/Prefabs/Entities/Items/BlueCoin.tscn
Normal file
21
Scenes/Prefabs/Entities/Items/BlueCoin.tscn
Normal file
@@ -0,0 +1,21 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://dplnidrqshecd"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://chjxyhlwohmi6" path="res://Scenes/Prefabs/Entities/Items/Coin.tscn" id="1_iq4uk"]
|
||||
[ext_resource type="PackedScene" uid="uid://bxuxtgn5wg108" path="res://Scenes/Prefabs/Entities/Items/SpinningBlueCoin.tscn" id="2_4rq0g"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/BlueCoin.json" id="2_r2p65"]
|
||||
|
||||
[node name="Coin" instance=ExtResource("1_iq4uk")]
|
||||
spinning_coin_scene = ExtResource("2_4rq0g")
|
||||
|
||||
[node name="Sprite" parent="." index="0"]
|
||||
animation = &"Idle"
|
||||
autoplay = "Idle"
|
||||
frame_progress = 0.0
|
||||
|
||||
[node name="ResourceSetterNew" parent="Sprite" index="0"]
|
||||
resource_json = ExtResource("2_r2p65")
|
||||
|
||||
[node name="PSwitcher" parent="." index="4"]
|
||||
new_scene = "uid://rjs2k335jmb5"
|
||||
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="area_entered"]
|
47
Scenes/Prefabs/Entities/Items/BlueCoinInactive.tscn
Normal file
47
Scenes/Prefabs/Entities/Items/BlueCoinInactive.tscn
Normal file
@@ -0,0 +1,47 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://rjs2k335jmb5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cpwloakvp672a" path="res://Scripts/Parts/EditorVisibleNode.gd" id="1_isf0s"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_3gxgc"]
|
||||
[ext_resource type="Texture2D" uid="uid://c82ui0uuhsyle" path="res://Assets/Sprites/Items/BlueCoin.png" id="2_558gv"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_ssesj"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/BlueCoin.json" id="3_3gxgc"]
|
||||
[ext_resource type="Script" uid="uid://bul1nbd2in1gn" path="res://Scripts/Classes/Components/PSwitcher.gd" id="4_ssesj"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ip28o"]
|
||||
atlas = ExtResource("2_558gv")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_3gxgc"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ip28o")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[node name="BlueCoinInactive" type="Node2D"]
|
||||
script = ExtResource("1_isf0s")
|
||||
metadata/_custom_type_script = "uid://cpwloakvp672a"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
modulate = Color(1, 1, 1, 0.497)
|
||||
sprite_frames = SubResource("SpriteFrames_3gxgc")
|
||||
animation = &"Idle"
|
||||
script = ExtResource("2_3gxgc")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("2_ssesj")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("3_3gxgc")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="PSwitcher" type="Node" parent="."]
|
||||
script = ExtResource("4_ssesj")
|
||||
new_scene = "uid://dplnidrqshecd"
|
||||
metadata/_custom_type_script = "uid://bul1nbd2in1gn"
|
171
Scenes/Prefabs/Entities/Items/ClockItem.tscn
Normal file
171
Scenes/Prefabs/Entities/Items/ClockItem.tscn
Normal file
@@ -0,0 +1,171 @@
|
||||
[gd_scene load_steps=16 format=3 uid="uid://rruc6lnk16rr"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dryofl8epgget" path="res://Scripts/Classes/Entities/Items/ClockItem.gd" id="1_heiyr"]
|
||||
[ext_resource type="Texture2D" uid="uid://dal8md4ms07j2" path="res://Assets/Sprites/Items/Clock.png" id="1_ybxan"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_heiyr"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_ov4xw"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Clock.json" id="4_newwu"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="5_fg0gx"]
|
||||
[ext_resource type="Script" uid="uid://dt2p68xl462v2" path="res://Scripts/Parts/TextShadowColourChanger.gd" id="6_ggci8"]
|
||||
[ext_resource type="Script" uid="uid://co6tjg3w6qpd8" path="res://Scripts/Parts/LabelFontChanger.gd" id="7_eol0e"]
|
||||
[ext_resource type="Resource" uid="uid://8dcuxbc3h2u2" path="res://Resources/ThemedResources/Font.tres" id="8_34q7a"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_c30tx"]
|
||||
atlas = ExtResource("1_ybxan")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_qa2fo"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_c30tx")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ydslq"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_heiyr"]
|
||||
resource_name = "Appear"
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(-24, -8), Vector2(-24, -16)]
|
||||
}
|
||||
tracks/2/type = "method"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("..")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(1),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"queue_free"
|
||||
}]
|
||||
}
|
||||
tracks/3/type = "method"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("../Sprite")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"queue_free"
|
||||
}]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ybxan"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(-24, -8)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ov4xw"]
|
||||
_data = {
|
||||
&"Appear": SubResource("Animation_heiyr"),
|
||||
&"RESET": SubResource("Animation_ybxan")
|
||||
}
|
||||
|
||||
[node name="ClockItem" type="CharacterBody2D"]
|
||||
script = ExtResource("1_heiyr")
|
||||
metadata/_custom_type_script = "uid://cjkurwybsaywm"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_qa2fo")
|
||||
offset = Vector2(0, 1)
|
||||
script = ExtResource("2_heiyr")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_ov4xw")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_newwu")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Sprite"]
|
||||
script = ExtResource("5_fg0gx")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite/Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_ydslq")
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
visible = false
|
||||
offset_left = -24.0
|
||||
offset_top = -8.0
|
||||
offset_right = 24.0
|
||||
offset_bottom = 8.0
|
||||
text = "+100"
|
||||
horizontal_alignment = 1
|
||||
uppercase = true
|
||||
|
||||
[node name="TextShadowColourChanger" type="Node" parent="Label" node_paths=PackedStringArray("labels")]
|
||||
script = ExtResource("6_ggci8")
|
||||
labels = [NodePath("..")]
|
||||
metadata/_custom_type_script = "uid://dt2p68xl462v2"
|
||||
|
||||
[node name="LabelFontChanger" type="Node" parent="Label" node_paths=PackedStringArray("labels")]
|
||||
script = ExtResource("7_eol0e")
|
||||
labels = [NodePath("..")]
|
||||
resource = ExtResource("8_34q7a")
|
||||
metadata/_custom_type_script = "uid://co6tjg3w6qpd8"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Label"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_ov4xw")
|
||||
}
|
||||
|
||||
[connection signal="player_entered" from="Sprite/Hitbox" to="." method="collect_item"]
|
107
Scenes/Prefabs/Entities/Items/Coin.tscn
Normal file
107
Scenes/Prefabs/Entities/Items/Coin.tscn
Normal file
@@ -0,0 +1,107 @@
|
||||
[gd_scene load_steps=17 format=3 uid="uid://chjxyhlwohmi6"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cexcll4frt0t6" path="res://Scripts/Classes/Entities/Items/Coin.gd" id="1_c6elg"]
|
||||
[ext_resource type="Texture2D" uid="uid://b6o28xa83npb1" path="res://Assets/Sprites/Items/StaticCoin.png" id="2_7vxr7"]
|
||||
[ext_resource type="PackedScene" uid="uid://clxssds8sj8pf" path="res://Scenes/Prefabs/Entities/Items/SpinningCoin.tscn" id="2_k3746"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="3_korlu"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_uahob"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Coin.json" id="4_thymr"]
|
||||
[ext_resource type="Script" uid="uid://bul1nbd2in1gn" path="res://Scripts/Classes/Components/PSwitcher.gd" id="6_uahob"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="7_thymr"]
|
||||
[ext_resource type="Script" uid="uid://maqpreddu5kg" path="res://Scripts/Classes/Components/LevelPersistance.gd" id="8_apfal"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uahob"]
|
||||
atlas = ExtResource("2_7vxr7")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_thymr"]
|
||||
atlas = ExtResource("2_7vxr7")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_apfal"]
|
||||
atlas = ExtResource("2_7vxr7")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_k3746"]
|
||||
atlas = ExtResource("2_7vxr7")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_nu35s"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uahob")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_thymr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_apfal")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_k3746")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_edpyv"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_qjj6w"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[node name="Coin" type="Node2D" groups=["Coins"]]
|
||||
z_index = -2
|
||||
script = ExtResource("1_c6elg")
|
||||
spinning_coin_scene = ExtResource("2_k3746")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_nu35s")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.487032
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_uahob")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_thymr")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_edpyv")
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("3_korlu")
|
||||
detection_type = 1
|
||||
hitbox = NodePath("../BlockHitbox")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="BlockHitbox" type="Area2D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 6
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="BlockHitbox"]
|
||||
position = Vector2(0, 12)
|
||||
shape = SubResource("RectangleShape2D_qjj6w")
|
||||
|
||||
[node name="PSwitcher" type="Node" parent="."]
|
||||
script = ExtResource("6_uahob")
|
||||
new_scene = "uid://dsa8lpl7n8ge0"
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="."]
|
||||
script = ExtResource("7_thymr")
|
||||
offset = Vector2(0, 0)
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[node name="LevelPersistance" type="Node" parent="."]
|
||||
script = ExtResource("8_apfal")
|
||||
|
||||
[connection signal="collected" from="." to="LevelPersistance" method="set_as_active"]
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="area_entered"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="summon_block_coin" unbinds=1]
|
||||
[connection signal="enabled" from="LevelPersistance" to="." method="queue_free"]
|
93
Scenes/Prefabs/Entities/Items/FireFlower.tscn
Normal file
93
Scenes/Prefabs/Entities/Items/FireFlower.tscn
Normal file
@@ -0,0 +1,93 @@
|
||||
[gd_scene load_steps=14 format=3 uid="uid://dbjqtjhb2t4cn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cjkurwybsaywm" path="res://Scripts/Classes/Entities/Items/PowerUpItem.gd" id="1_paqft"]
|
||||
[ext_resource type="Texture2D" uid="uid://qwqprcst4mtg" path="res://Assets/Sprites/Items/FireFlower.png" id="2_x8n8e"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_db8fa"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/FireFlower.json" id="4_11cns"]
|
||||
[ext_resource type="Script" uid="uid://bx6r8sjar6cwr" path="res://Scripts/Classes/Components/BasicStaticMovement.gd" id="5_11cns"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="6_brn7u"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_db8fa"]
|
||||
atlas = ExtResource("2_x8n8e")
|
||||
region = Rect2(0, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_11cns"]
|
||||
atlas = ExtResource("2_x8n8e")
|
||||
region = Rect2(16, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_brn7u"]
|
||||
atlas = ExtResource("2_x8n8e")
|
||||
region = Rect2(32, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fwmx2"]
|
||||
atlas = ExtResource("2_x8n8e")
|
||||
region = Rect2(48, 16, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_gid51"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_db8fa")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_11cns")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_brn7u")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fwmx2")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 15.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_16uf3"]
|
||||
size = Vector2(8, 4)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kjjbq"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[node name="FireFlower" type="CharacterBody2D"]
|
||||
z_index = -1
|
||||
collision_layer = 8
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_paqft")
|
||||
power_up_state = "Fire"
|
||||
metadata/_custom_type_script = "uid://cjkurwybsaywm"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_gid51")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.157931
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_db8fa")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_11cns")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -10)
|
||||
shape = SubResource("RectangleShape2D_16uf3")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("RectangleShape2D_kjjbq")
|
||||
|
||||
[node name="StaticEntityMovement" type="Node" parent="."]
|
||||
script = ExtResource("5_11cns")
|
||||
auto_call = false
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="." node_paths=PackedStringArray("movement_node")]
|
||||
script = ExtResource("6_brn7u")
|
||||
movement_node = NodePath("../StaticEntityMovement")
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[connection signal="physics_tick" from="." to="StaticEntityMovement" method="handle_movement"]
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
86
Scenes/Prefabs/Entities/Items/Fireball.tscn
Normal file
86
Scenes/Prefabs/Entities/Items/Fireball.tscn
Normal file
@@ -0,0 +1,86 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://dutrlpq47wguf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://yh4pop7sm56c" path="res://Scripts/Classes/Entities/Items/Fireball.gd" id="1_00jom"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_gfqet"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/PlayerFireball.json" id="3_an01s"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_gfqet"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:rotation")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_00jom"]
|
||||
resource_name = "Spin"
|
||||
length = 0.4
|
||||
loop_mode = 1
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:rotation")
|
||||
tracks/0/interp = 0
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 1.5708, 3.14159, 4.71239, 6.28319]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_an01s"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_gfqet"),
|
||||
&"Spin": SubResource("Animation_00jom")
|
||||
}
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ajyso"]
|
||||
size = Vector2(6, 8)
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_dhdpv"]
|
||||
radius = 8.0
|
||||
|
||||
[node name="Fireball" type="CharacterBody2D"]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
slide_on_ceiling = false
|
||||
script = ExtResource("1_00jom")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
z_index = 2
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="Sprite"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_an01s")
|
||||
}
|
||||
autoplay = "Spin"
|
||||
speed_scale = 2.0
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("2_gfqet")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("3_an01s")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_ajyso")
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
shape = SubResource("CircleShape2D_dhdpv")
|
||||
|
||||
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
|
||||
|
||||
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="queue_free"]
|
57
Scenes/Prefabs/Entities/Items/Hachisuke.tscn
Normal file
57
Scenes/Prefabs/Entities/Items/Hachisuke.tscn
Normal file
@@ -0,0 +1,57 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://dn2rawqxpuywe"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bb01xttxcem1c" path="res://Scripts/Classes/Entities/Items/Hachisuke.gd" id="1_d7uck"]
|
||||
[ext_resource type="Texture2D" uid="uid://bbdcmhyxmc3pu" path="res://Assets/Sprites/Items/SPItems.png" id="2_wdqsg"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_3unjp"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="3_eh4yc"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="4_3unjp"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Hachisuke.json" id="4_db2kr"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qj4fn"]
|
||||
atlas = ExtResource("2_wdqsg")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kn7db"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6c253"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[node name="Hachisuke" type="CharacterBody2D"]
|
||||
collision_layer = 8
|
||||
collision_mask = 6
|
||||
script = ExtResource("1_d7uck")
|
||||
metadata/_custom_type_script = "uid://cjkurwybsaywm"
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
texture = SubResource("AtlasTexture_qj4fn")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_3unjp")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_db2kr")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("3_eh4yc")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="PlayerDetection" type="Area2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
script = ExtResource("4_3unjp")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="PlayerDetection"]
|
||||
shape = SubResource("RectangleShape2D_kn7db")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
shape = SubResource("RectangleShape2D_6c253")
|
||||
|
||||
[connection signal="player_entered" from="PlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [8000]]
|
||||
[connection signal="player_entered" from="PlayerDetection" to="." method="play_sfx" unbinds=1]
|
||||
[connection signal="player_entered" from="PlayerDetection" to="." method="queue_free" unbinds=1]
|
81
Scenes/Prefabs/Entities/Items/Hammer.tscn
Normal file
81
Scenes/Prefabs/Entities/Items/Hammer.tscn
Normal file
@@ -0,0 +1,81 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://deo08vl26nc4b"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://s1utdly4mtbi" path="res://Scripts/Classes/Entities/Items/Hammer.gd" id="1_3ojke"]
|
||||
[ext_resource type="Texture2D" uid="uid://3xmhfi556p3s" path="res://Assets/Sprites/Items/Hammer.png" id="1_o34jf"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_k3c6x"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Hammer.json" id="4_pmlpp"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2tvg3"]
|
||||
atlas = ExtResource("1_o34jf")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vmyq7"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:rotation")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_3ojke"]
|
||||
resource_name = "Rotate"
|
||||
length = 0.4
|
||||
loop_mode = 1
|
||||
step = 0.1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:rotation")
|
||||
tracks/0/interp = 0
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, -1.5708, -3.14159, -4.71239]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k3c6x"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_vmyq7"),
|
||||
&"Rotate": SubResource("Animation_3ojke")
|
||||
}
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_pmlpp"]
|
||||
radius = 4.0
|
||||
|
||||
[node name="Hammer" type="Node2D" groups=["Enemies"]]
|
||||
script = ExtResource("1_3ojke")
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
physics_interpolation_mode = 2
|
||||
texture = SubResource("AtlasTexture_2tvg3")
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect", "property_node")]
|
||||
script = ExtResource("3_k3c6x")
|
||||
node_to_affect = NodePath("..")
|
||||
property_node = NodePath("../..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_pmlpp")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Animations" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_k3c6x")
|
||||
}
|
||||
autoplay = "Rotate"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
shape = SubResource("CircleShape2D_pmlpp")
|
||||
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
47
Scenes/Prefabs/Entities/Items/HammerItem.tscn
Normal file
47
Scenes/Prefabs/Entities/Items/HammerItem.tscn
Normal file
@@ -0,0 +1,47 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://bwdwavf4rp1m1"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://vhxup1pn2v8q" path="res://Scripts/Classes/Entities/Items/HammerItem.gd" id="1_ws752"]
|
||||
[ext_resource type="Texture2D" uid="uid://bbdcmhyxmc3pu" path="res://Assets/Sprites/Items/SPItems.png" id="2_c0srl"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_uc7h7"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_uc7h7"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/HammerItem.json" id="5_6qq3q"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ws752"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_uc7h7"]
|
||||
size = Vector2(10, 10)
|
||||
|
||||
[node name="HammerItem" type="CharacterBody2D"]
|
||||
collision_layer = 8
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_ws752")
|
||||
metadata/_custom_type_script = "uid://cjkurwybsaywm"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
script = ExtResource("3_uc7h7")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -8)
|
||||
shape = SubResource("RectangleShape2D_ws752")
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
texture = ExtResource("2_c0srl")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 16, 16)
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_uc7h7")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("5_6qq3q")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -5)
|
||||
shape = SubResource("RectangleShape2D_uc7h7")
|
||||
|
||||
[connection signal="player_entered" from="Hitbox" to="." method="on_player_entered"]
|
169
Scenes/Prefabs/Entities/Items/KeyItem.tscn
Normal file
169
Scenes/Prefabs/Entities/Items/KeyItem.tscn
Normal file
@@ -0,0 +1,169 @@
|
||||
[gd_scene load_steps=18 format=3 uid="uid://ny5glffi0suh"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bagrao4ahra76" path="res://Assets/Sprites/Items/Key.png" id="1_883rn"]
|
||||
[ext_resource type="Script" uid="uid://cjgbt7iof66j0" path="res://Scripts/Classes/Entities/Items/KeyItem.gd" id="1_l02ex"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_ecusj"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_l02ex"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_m8uts"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Key.json" id="4_m8uts"]
|
||||
[ext_resource type="Texture2D" uid="uid://sgrcmlktp2dk" path="res://Assets/Sprites/Particles/SRankParticles.png" id="7_2yl70"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_l02ex"]
|
||||
atlas = ExtResource("1_883rn")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2yl70"]
|
||||
atlas = ExtResource("1_883rn")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_imihh"]
|
||||
atlas = ExtResource("1_883rn")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_rls2x"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l02ex")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l02ex")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l02ex")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l02ex")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l02ex")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l02ex")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l02ex")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l02ex")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l02ex")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l02ex")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2yl70")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_imihh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2yl70")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 10.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2u37r"]
|
||||
size = Vector2(12, 12)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_d4wb4"]
|
||||
resource_name = "Float"
|
||||
length = 2.0
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:offset")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0), Vector2(0, -2)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_1rbaj"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite:offset")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_e440m"]
|
||||
_data = {
|
||||
&"Float": SubResource("Animation_d4wb4"),
|
||||
&"RESET": SubResource("Animation_1rbaj")
|
||||
}
|
||||
|
||||
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_imihh"]
|
||||
particles_animation = true
|
||||
particles_anim_h_frames = 7
|
||||
particles_anim_v_frames = 1
|
||||
particles_anim_loop = false
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_rls2x"]
|
||||
particle_flag_disable_z = true
|
||||
emission_shape = 6
|
||||
emission_ring_axis = Vector3(0, 0, 1)
|
||||
emission_ring_height = 8.0
|
||||
emission_ring_radius = 10.0
|
||||
emission_ring_inner_radius = 8.0
|
||||
emission_ring_cone_angle = 90.0
|
||||
gravity = Vector3(0, 0, 0)
|
||||
anim_speed_min = 2.0
|
||||
anim_speed_max = 2.0
|
||||
|
||||
[node name="KeyItem" type="Node2D"]
|
||||
script = ExtResource("1_l02ex")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_rls2x")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.18760097
|
||||
script = ExtResource("2_ecusj")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_l02ex")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_m8uts")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
script = ExtResource("3_m8uts")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_2u37r")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_e440m")
|
||||
}
|
||||
|
||||
[node name="GoldParticles" type="GPUParticles2D" parent="."]
|
||||
z_index = 1
|
||||
material = SubResource("CanvasItemMaterial_imihh")
|
||||
position = Vector2(0, -8)
|
||||
amount = 1
|
||||
texture = ExtResource("7_2yl70")
|
||||
randomness = 0.12
|
||||
process_material = SubResource("ParticleProcessMaterial_rls2x")
|
||||
|
||||
[connection signal="player_entered" from="Hitbox" to="." method="collected" unbinds=1]
|
70
Scenes/Prefabs/Entities/Items/LuckyStar.tscn
Normal file
70
Scenes/Prefabs/Entities/Items/LuckyStar.tscn
Normal file
@@ -0,0 +1,70 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://dhd0gp2xvl53l"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bafdl3y53ly60" path="res://Scripts/Classes/UI/PackAnimatedSprite2D.gd" id="2_724cb"]
|
||||
[ext_resource type="Texture2D" uid="uid://bbdcmhyxmc3pu" path="res://Assets/Sprites/Items/SPItems.png" id="2_wnlnm"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_724cb"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_ke2o5"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/LuckyStar.json" id="4_4cwfa"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_y0edb"]
|
||||
script/source = "extends PowerUpItem
|
||||
|
||||
func player_entered(_player: Player) -> void:
|
||||
queue_free()
|
||||
AudioManager.play_global_sfx(\"lucky_star\")
|
||||
get_tree().call_group(\"Enemies\", \"flag_die\")
|
||||
"
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ke2o5"]
|
||||
atlas = ExtResource("2_wnlnm")
|
||||
region = Rect2(0, 64, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4cwfa"]
|
||||
atlas = ExtResource("2_wnlnm")
|
||||
region = Rect2(16, 64, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_48p8s"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ke2o5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4cwfa")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 15.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7yv5x"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[node name="LuckyStar" type="CharacterBody2D"]
|
||||
script = SubResource("GDScript_y0edb")
|
||||
metadata/_custom_type_script = "uid://cjkurwybsaywm"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_48p8s")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.8284554
|
||||
script = ExtResource("2_724cb")
|
||||
metadata/_custom_type_script = "uid://bafdl3y53ly60"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_ke2o5")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_4cwfa")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="PlayerDetection" type="Area2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
script = ExtResource("3_724cb")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
|
||||
shape = SubResource("RectangleShape2D_7yv5x")
|
||||
|
||||
[connection signal="player_entered" from="PlayerDetection" to="." method="player_entered"]
|
15
Scenes/Prefabs/Entities/Items/OneUp.tscn
Normal file
15
Scenes/Prefabs/Entities/Items/OneUp.tscn
Normal file
@@ -0,0 +1,15 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cpk6idjoxjotv"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://beq7b3hp44onn" path="res://Scenes/Prefabs/Entities/Items/SuperMushroom.tscn" id="1_g2ftd"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="2_w8r6w"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/OneUp.json" id="3_iusab"]
|
||||
|
||||
[node name="OneUp" instance=ExtResource("1_g2ftd")]
|
||||
metadata/is_oneup = true
|
||||
|
||||
[node name="ResourceSetterNew" parent="Mushroom" index="0"]
|
||||
resource_json = ExtResource("3_iusab")
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="." index="4"]
|
||||
script = ExtResource("2_w8r6w")
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
10
Scenes/Prefabs/Entities/Items/PoisonMushroom.tscn
Normal file
10
Scenes/Prefabs/Entities/Items/PoisonMushroom.tscn
Normal file
@@ -0,0 +1,10 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://n7nskl10ouem"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://beq7b3hp44onn" path="res://Scenes/Prefabs/Entities/Items/SuperMushroom.tscn" id="1_0uuo6"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/PoisonMushroom.json" id="2_pfjfl"]
|
||||
|
||||
[node name="SuperMushroom" instance=ExtResource("1_0uuo6")]
|
||||
metadata/is_poison = false
|
||||
|
||||
[node name="ResourceSetterNew" parent="Mushroom" index="0"]
|
||||
resource_json = ExtResource("2_pfjfl")
|
119
Scenes/Prefabs/Entities/Items/RedCoin.tscn
Normal file
119
Scenes/Prefabs/Entities/Items/RedCoin.tscn
Normal file
@@ -0,0 +1,119 @@
|
||||
[gd_scene load_steps=18 format=3 uid="uid://cmbpqnq10arts"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://xwq5ac650e76" path="res://Scripts/Classes/Entities/Items/RedCoin.gd" id="1_c6tmk"]
|
||||
[ext_resource type="Texture2D" uid="uid://c8wpxm7b5tgiq" path="res://Assets/Sprites/Items/RedCoin.png" id="2_lwdcj"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_0r8d3"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_0xloa"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_onh0k"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="4_lwdcj"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/RedCoin.json" id="5_0fjrw"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lwdcj"]
|
||||
atlas = ExtResource("2_lwdcj")
|
||||
region = Rect2(0, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_onh0k"]
|
||||
atlas = ExtResource("2_lwdcj")
|
||||
region = Rect2(16, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1w0wa"]
|
||||
atlas = ExtResource("2_lwdcj")
|
||||
region = Rect2(32, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4qu2r"]
|
||||
atlas = ExtResource("2_lwdcj")
|
||||
region = Rect2(48, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0xloa"]
|
||||
atlas = ExtResource("2_lwdcj")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0r8d3"]
|
||||
atlas = ExtResource("2_lwdcj")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0fjrw"]
|
||||
atlas = ExtResource("2_lwdcj")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ppl3b"]
|
||||
atlas = ExtResource("2_lwdcj")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_1w0wa"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lwdcj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_onh0k")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1w0wa")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4qu2r")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Collected",
|
||||
"speed": 8.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0xloa")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0r8d3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0fjrw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ppl3b")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 8.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4qu2r"]
|
||||
size = Vector2(12, 15)
|
||||
|
||||
[node name="RedCoin" type="Node2D"]
|
||||
visibility_layer = 3
|
||||
z_index = -2
|
||||
script = ExtResource("1_c6tmk")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_1w0wa")
|
||||
animation = &"Idle"
|
||||
autoplay = "Idle"
|
||||
script = ExtResource("3_0r8d3")
|
||||
do_offset = false
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_0xloa")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_0fjrw")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
collision_mask = 5
|
||||
script = ExtResource("3_onh0k")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, 1.5)
|
||||
shape = SubResource("RectangleShape2D_4qu2r")
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||
script = ExtResource("4_lwdcj")
|
||||
detection_type = 1
|
||||
hitbox = NodePath("../Hitbox")
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[connection signal="player_entered" from="Hitbox" to="." method="on_player_entered"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="summon_bounced_coin" unbinds=1]
|
68
Scenes/Prefabs/Entities/Items/ReserveItem.tscn
Executable file
68
Scenes/Prefabs/Entities/Items/ReserveItem.tscn
Executable file
@@ -0,0 +1,68 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://1a8j44cmswcj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bbeh6dsp1hpan" path="res://Scripts/Classes/Entities/Items/ReserveItem.gd" id="1_ik5mc"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_flkw7"]
|
||||
radius = 8.0
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ik5mc"]
|
||||
resource_name = "Flash"
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_8acg5"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_flkw7"]
|
||||
_data = {
|
||||
&"Flash": SubResource("Animation_ik5mc"),
|
||||
&"RESET": SubResource("Animation_8acg5")
|
||||
}
|
||||
|
||||
[node name="ReserveItem" type="CharacterBody2D"]
|
||||
script = ExtResource("1_ik5mc")
|
||||
metadata/_custom_type_script = "uid://cjkurwybsaywm"
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
shape = SubResource("CircleShape2D_flkw7")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 8.0
|
||||
autostart = true
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_flkw7")
|
||||
}
|
||||
autoplay = "Flash"
|
||||
speed_scale = 2.0
|
||||
|
||||
[connection signal="area_entered" from="Area2D" to="." method="on_area_entered"]
|
||||
[connection signal="timeout" from="Timer" to="." method="queue_free"]
|
14
Scenes/Prefabs/Entities/Items/SpinningBlueCoin.tscn
Normal file
14
Scenes/Prefabs/Entities/Items/SpinningBlueCoin.tscn
Normal file
@@ -0,0 +1,14 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bxuxtgn5wg108"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://clxssds8sj8pf" path="res://Scenes/Prefabs/Entities/Items/SpinningCoin.tscn" id="1_8si4e"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/BlueCoin.json" id="2_da77p"]
|
||||
|
||||
[node name="SpinningCoin" instance=ExtResource("1_8si4e")]
|
||||
|
||||
[node name="Sprite" parent="." index="0"]
|
||||
animation = &"Spin"
|
||||
autoplay = "Spin"
|
||||
frame_progress = 0.0
|
||||
|
||||
[node name="ResourceSetterNew" parent="Sprite" index="0"]
|
||||
resource_json = ExtResource("2_da77p")
|
71
Scenes/Prefabs/Entities/Items/SpinningCoin.tscn
Normal file
71
Scenes/Prefabs/Entities/Items/SpinningCoin.tscn
Normal file
@@ -0,0 +1,71 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://clxssds8sj8pf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dixhffcqfnyku" path="res://Scripts/Classes/Entities/Items/SpinningCoin.gd" id="1_pvx50"]
|
||||
[ext_resource type="Texture2D" uid="uid://bnomivkphlt60" path="res://Assets/Sprites/Items/SpinningCoin.png" id="2_6slgd"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="3_6slgd"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_7mdmn"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/SpinningCoin.json" id="4_b5lmc"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_v0qq2"]
|
||||
atlas = ExtResource("2_6slgd")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7mdmn"]
|
||||
atlas = ExtResource("2_6slgd")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_b5lmc"]
|
||||
atlas = ExtResource("2_6slgd")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mqre6"]
|
||||
atlas = ExtResource("2_6slgd")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_sax2u"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_v0qq2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7mdmn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_b5lmc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mqre6")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 20.0
|
||||
}]
|
||||
|
||||
[node name="SpinningCoin" type="Node2D"]
|
||||
script = ExtResource("1_pvx50")
|
||||
metadata/block_spawn_offset = Vector2(0, -4)
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
sprite_frames = SubResource("SpriteFrames_sax2u")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.710764
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_7mdmn")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_b5lmc")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.5
|
||||
one_shot = true
|
||||
autostart = true
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("3_6slgd")
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="vanish"]
|
||||
[connection signal="timeout" from="Timer" to="ScoreNoteSpawner" method="spawn_note" binds= [0, 200]]
|
110
Scenes/Prefabs/Entities/Items/SpinningRedCoin.tscn
Normal file
110
Scenes/Prefabs/Entities/Items/SpinningRedCoin.tscn
Normal file
@@ -0,0 +1,110 @@
|
||||
[gd_scene load_steps=16 format=3 uid="uid://d3gnwmvds4ors"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bmi5fmguqbdyh" path="res://Scripts/Classes/Entities/Items/SpinningRedCoin.gd" id="1_2dih8"]
|
||||
[ext_resource type="Texture2D" uid="uid://c8wpxm7b5tgiq" path="res://Assets/Sprites/Items/RedCoin.png" id="2_1ws6h"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_ke76m"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="3_oosg8"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_rnpac"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/RedCoin.json" id="4_rnpac"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lwdcj"]
|
||||
atlas = ExtResource("2_1ws6h")
|
||||
region = Rect2(0, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_onh0k"]
|
||||
atlas = ExtResource("2_1ws6h")
|
||||
region = Rect2(16, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1w0wa"]
|
||||
atlas = ExtResource("2_1ws6h")
|
||||
region = Rect2(32, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4qu2r"]
|
||||
atlas = ExtResource("2_1ws6h")
|
||||
region = Rect2(48, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0xloa"]
|
||||
atlas = ExtResource("2_1ws6h")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0r8d3"]
|
||||
atlas = ExtResource("2_1ws6h")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0fjrw"]
|
||||
atlas = ExtResource("2_1ws6h")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ppl3b"]
|
||||
atlas = ExtResource("2_1ws6h")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_oosg8"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lwdcj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_onh0k")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1w0wa")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4qu2r")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Collected",
|
||||
"speed": 8.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0xloa")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0r8d3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0fjrw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ppl3b")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Idle",
|
||||
"speed": 8.0
|
||||
}]
|
||||
|
||||
[node name="SpinningCoin" type="Node2D"]
|
||||
visibility_layer = 3
|
||||
script = ExtResource("1_2dih8")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_oosg8")
|
||||
animation = &"Idle"
|
||||
autoplay = "Idle"
|
||||
frame_progress = 0.49333584
|
||||
speed_scale = 2.5
|
||||
script = ExtResource("3_rnpac")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_ke76m")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_rnpac")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.5
|
||||
one_shot = true
|
||||
autostart = true
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("3_oosg8")
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="vanish"]
|
||||
[connection signal="timeout" from="Timer" to="ScoreNoteSpawner" method="spawn_note" binds= [0, 200]]
|
78
Scenes/Prefabs/Entities/Items/SuperMushroom.tscn
Normal file
78
Scenes/Prefabs/Entities/Items/SuperMushroom.tscn
Normal file
@@ -0,0 +1,78 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://beq7b3hp44onn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dlrdjo1ksvp7q" path="res://Scripts/Classes/Entities/Items/SuperMushroom.gd" id="1_j8f56"]
|
||||
[ext_resource type="Texture2D" uid="uid://hfh5i32uji5t" path="res://Assets/Sprites/Items/SuperMushroom.png" id="2_kycr3"]
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_20ogn"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_i28px"]
|
||||
[ext_resource type="Script" uid="uid://cmg61722ktg2m" path="res://Scripts/Classes/Components/BlockBouncingDetection.gd" id="3_kycr3"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/SuperMushroom.json" id="4_waj2c"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="6_waj2c"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="7_xop20"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xop20"]
|
||||
atlas = ExtResource("2_kycr3")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_20ogn"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xop20")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eg5wg"]
|
||||
size = Vector2(10, 10)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_i28px"]
|
||||
size = Vector2(4, 8)
|
||||
|
||||
[node name="SuperMushroom" type="CharacterBody2D"]
|
||||
collision_layer = 8
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_j8f56")
|
||||
|
||||
[node name="Mushroom" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_20ogn")
|
||||
offset = Vector2(0, 1)
|
||||
script = ExtResource("3_20ogn")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Mushroom" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_i28px")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_waj2c")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
|
||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||
shape = SubResource("RectangleShape2D_eg5wg")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("RectangleShape2D_i28px")
|
||||
|
||||
[node name="BlockBouncingDetection" type="Node" parent="."]
|
||||
script = ExtResource("3_kycr3")
|
||||
can_change_direction = true
|
||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="."]
|
||||
script = ExtResource("6_waj2c")
|
||||
auto_call = false
|
||||
move_speed = 65
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="." node_paths=PackedStringArray("movement_node")]
|
||||
script = ExtResource("7_xop20")
|
||||
movement_node = NodePath("../BasicEnemyMovement")
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="block_bounce_up" unbinds=1]
|
110
Scenes/Prefabs/Entities/Items/SuperStar.tscn
Normal file
110
Scenes/Prefabs/Entities/Items/SuperStar.tscn
Normal file
@@ -0,0 +1,110 @@
|
||||
[gd_scene load_steps=17 format=3 uid="uid://5qg8po86pew4"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dbeg86pjflojw" path="res://Scripts/Classes/Entities/Items/SuperStar.gd" id="1_aowox"]
|
||||
[ext_resource type="Texture2D" uid="uid://1o654l3577lv" path="res://Assets/Sprites/Items/SuperStar.png" id="1_gpwv4"]
|
||||
[ext_resource type="AudioStream" uid="uid://73b2bhjg5idd" path="res://Assets/Audio/BGM/StarMan.mp3" id="2_orqf5"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_orqf5"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/StarMan.json" id="5_og7mc"]
|
||||
[ext_resource type="Script" uid="uid://dlq6o2rg1x7in" path="res://Scripts/Classes/Components/BasicEnemyMovement.gd" id="6_og7mc"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="7_sc6oi"]
|
||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="8_yyobd"]
|
||||
|
||||
[sub_resource type="AudioStreamInteractive" id="AudioStreamInteractive_og7mc"]
|
||||
clip_count = 1
|
||||
clip_0/name = &"Star Man"
|
||||
clip_0/stream = ExtResource("2_orqf5")
|
||||
clip_0/auto_advance = 0
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ptmgm"]
|
||||
atlas = ExtResource("1_gpwv4")
|
||||
region = Rect2(0, 32, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_aowox"]
|
||||
atlas = ExtResource("1_gpwv4")
|
||||
region = Rect2(16, 32, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_53gld"]
|
||||
atlas = ExtResource("1_gpwv4")
|
||||
region = Rect2(32, 32, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_orqf5"]
|
||||
atlas = ExtResource("1_gpwv4")
|
||||
region = Rect2(48, 32, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_og7mc"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ptmgm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_aowox")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_53gld")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_orqf5")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 15.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_sc6oi"]
|
||||
custom_solver_bias = 1.0
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_yyobd"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[node name="SuperStar" type="CharacterBody2D"]
|
||||
z_index = -1
|
||||
collision_layer = 8
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_aowox")
|
||||
star_bgm = SubResource("AudioStreamInteractive_og7mc")
|
||||
metadata/_custom_type_script = "uid://cjkurwybsaywm"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_og7mc")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.792139
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("4_orqf5")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("5_og7mc")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -4)
|
||||
shape = SubResource("RectangleShape2D_sc6oi")
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -8)
|
||||
shape = SubResource("RectangleShape2D_yyobd")
|
||||
|
||||
[node name="BasicEnemyMovement" type="Node" parent="."]
|
||||
script = ExtResource("6_og7mc")
|
||||
auto_call = false
|
||||
move_speed = 70
|
||||
bounce_on_land = true
|
||||
bounce_height = -250
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("7_sc6oi")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="TrackJoint" type="Node" parent="." node_paths=PackedStringArray("movement_node")]
|
||||
script = ExtResource("8_yyobd")
|
||||
movement_node = NodePath("../BasicEnemyMovement")
|
||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||
|
||||
[connection signal="collected" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [1000]]
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
74
Scenes/Prefabs/Entities/Items/Vine.tscn
Normal file
74
Scenes/Prefabs/Entities/Items/Vine.tscn
Normal file
@@ -0,0 +1,74 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://dkxkrqflg46b2"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ck2ac2a266r6i" path="res://Assets/Sprites/Items/Vine.png" id="1_pfdri"]
|
||||
[ext_resource type="AudioStream" uid="uid://bdm8wm7vy4r12" path="res://Assets/Audio/SFX/VineAppear.wav" id="2_ap2o3"]
|
||||
[ext_resource type="Script" uid="uid://cxtvy2qolon2f" path="res://Scripts/Classes/Entities/Items/Vine.gd" id="2_tlgk1"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_ni768"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="4_m01lk"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Vine.json" id="4_q1cik"]
|
||||
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="6_ohmvf"]
|
||||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="7_e75m7"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ap2o3"]
|
||||
resource_local_to_scene = true
|
||||
size = Vector2(8, 16)
|
||||
|
||||
[sub_resource type="Resource" id="Resource_cmcye"]
|
||||
script = ExtResource("7_e75m7")
|
||||
Overworld = ExtResource("2_ap2o3")
|
||||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ssycu"]
|
||||
|
||||
[node name="Vine" type="Node2D"]
|
||||
z_index = -5
|
||||
script = ExtResource("2_tlgk1")
|
||||
|
||||
[node name="Visuals" type="NinePatchRect" parent="."]
|
||||
offset_left = -8.0
|
||||
offset_top = -8.0
|
||||
offset_right = 8.0
|
||||
offset_bottom = 8.0
|
||||
pivot_offset = Vector2(8, 8)
|
||||
texture = ExtResource("1_pfdri")
|
||||
patch_margin_top = 16
|
||||
axis_stretch_vertical = 1
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Visuals" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_ni768")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "texture"
|
||||
mode = 1
|
||||
resource_json = ExtResource("4_q1cik")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
position = Vector2(-8, -8)
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(8, 8)
|
||||
shape = SubResource("RectangleShape2D_ap2o3")
|
||||
|
||||
[node name="SFX" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = ExtResource("2_ap2o3")
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="SFX" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("6_ohmvf")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "stream"
|
||||
themed_resource = SubResource("Resource_cmcye")
|
||||
metadata/_custom_type_script = "uid://cq6f682453q6o"
|
||||
|
||||
[node name="WarpHitbox" type="Area2D" parent="."]
|
||||
script = ExtResource("4_m01lk")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="WarpHitbox"]
|
||||
shape = SubResource("CircleShape2D_ssycu")
|
||||
disabled = true
|
||||
|
||||
[connection signal="area_exited" from="Hitbox" to="." method="on_area_exited"]
|
||||
[connection signal="sprites_updated" from="SFX/ResourceSetter" to="SFX" method="play"]
|
||||
[connection signal="player_entered" from="WarpHitbox" to="." method="on_player_entered"]
|
66
Scenes/Prefabs/Entities/Items/WingItem.tscn
Normal file
66
Scenes/Prefabs/Entities/Items/WingItem.tscn
Normal file
@@ -0,0 +1,66 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://ck0spcws71sg5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="1_fcvyr"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_gjj3y"]
|
||||
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="2_neobf"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/WingItem.json" id="3_1uenh"]
|
||||
[ext_resource type="Script" uid="uid://bx6r8sjar6cwr" path="res://Scripts/Classes/Components/BasicStaticMovement.gd" id="3_143ya"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="4_gdso8"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_gdso8"]
|
||||
script/source = "extends PowerUpItem
|
||||
|
||||
func player_entered(player: Player) -> void:
|
||||
AudioManager.play_sfx(\"power_up\", global_position)
|
||||
player.wing_get()
|
||||
queue_free()
|
||||
"
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fcvyr"]
|
||||
size = Vector2(8, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_gjj3y"]
|
||||
size = Vector2(10, 5)
|
||||
|
||||
[node name="WingItem" type="CharacterBody2D"]
|
||||
collision_layer = 8
|
||||
collision_mask = 6
|
||||
script = SubResource("GDScript_gdso8")
|
||||
power_up_state = ""
|
||||
metadata/_custom_type_script = "uid://cjkurwybsaywm"
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
script = ExtResource("1_fcvyr")
|
||||
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("2_gjj3y")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("3_1uenh")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="."]
|
||||
script = ExtResource("2_neobf")
|
||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2(0, -8)
|
||||
shape = SubResource("RectangleShape2D_fcvyr")
|
||||
|
||||
[node name="BasicStaticMovement" type="Node" parent="."]
|
||||
script = ExtResource("3_143ya")
|
||||
metadata/_custom_type_script = "uid://bx6r8sjar6cwr"
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -2.5)
|
||||
shape = SubResource("RectangleShape2D_gjj3y")
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("4_gdso8")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[connection signal="player_entered" from="Hitbox" to="." method="player_entered"]
|
||||
[connection signal="player_entered" from="Hitbox" to="ScoreNoteSpawner" method="spawn_note" binds= [1000]]
|
401
Scenes/Prefabs/Entities/Items/YoshiEgg.tscn
Normal file
401
Scenes/Prefabs/Entities/Items/YoshiEgg.tscn
Normal file
@@ -0,0 +1,401 @@
|
||||
[gd_scene load_steps=36 format=3 uid="uid://ctx0nbkjf2osn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c0c5ctrmxhpk7" path="res://Scripts/Classes/Entities/Items/YoshiEgg.gd" id="1_byuma"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7jq6t1d2mhur" path="res://Assets/Sprites/Items/YoshiEgg.png" id="1_xcoq2"]
|
||||
[ext_resource type="Texture2D" uid="uid://hdpdek7jitea" path="res://Assets/Sprites/Players/Yoshi.png" id="2_byuma"]
|
||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_peoeq"]
|
||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="4_f5bm0"]
|
||||
[ext_resource type="AudioStream" uid="uid://uc55fu866hkj" path="res://Assets/Audio/SFX/YoshiEgg.wav" id="4_ljpfp"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Items/YoshiEgg.json" id="4_r541a"]
|
||||
[ext_resource type="AudioStream" uid="uid://cl4e0p4fnpjn1" path="res://Assets/Audio/SFX/Yoshi.wav" id="5_ovuko"]
|
||||
[ext_resource type="JSON" path="res://Assets/Sprites/Players/Yoshi.json" id="6_3ntsy"]
|
||||
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="6_swra8"]
|
||||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="7_jen1s"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2jlbu"]
|
||||
atlas = ExtResource("1_xcoq2")
|
||||
region = Rect2(0, 48, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_peoeq"]
|
||||
atlas = ExtResource("1_xcoq2")
|
||||
region = Rect2(16, 48, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_f5bm0"]
|
||||
atlas = ExtResource("1_xcoq2")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_f6uhp"]
|
||||
atlas = ExtResource("1_xcoq2")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_swra8"]
|
||||
atlas = ExtResource("1_xcoq2")
|
||||
region = Rect2(0, 32, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jen1s"]
|
||||
atlas = ExtResource("1_xcoq2")
|
||||
region = Rect2(16, 32, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ljpfp"]
|
||||
atlas = ExtResource("1_xcoq2")
|
||||
region = Rect2(0, 16, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ovuko"]
|
||||
atlas = ExtResource("1_xcoq2")
|
||||
region = Rect2(16, 16, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_r541a"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2jlbu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_peoeq")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Blue",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_f5bm0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_f6uhp")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Green",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_swra8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jen1s")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Red",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ljpfp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ovuko")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Yellow",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bh1gf"]
|
||||
atlas = ExtResource("2_byuma")
|
||||
region = Rect2(0, 32, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6qdj5"]
|
||||
atlas = ExtResource("2_byuma")
|
||||
region = Rect2(32, 32, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3ntsy"]
|
||||
atlas = ExtResource("2_byuma")
|
||||
region = Rect2(0, 0, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6x77t"]
|
||||
atlas = ExtResource("2_byuma")
|
||||
region = Rect2(32, 0, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rhwve"]
|
||||
atlas = ExtResource("2_byuma")
|
||||
region = Rect2(64, 0, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uvhj2"]
|
||||
atlas = ExtResource("2_byuma")
|
||||
region = Rect2(96, 0, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4vchd"]
|
||||
atlas = ExtResource("2_byuma")
|
||||
region = Rect2(64, 32, 32, 32)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_x8mei"]
|
||||
atlas = ExtResource("2_byuma")
|
||||
region = Rect2(96, 32, 32, 32)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_ytyif"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bh1gf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6qdj5")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Blue",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3ntsy")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6x77t")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Green",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rhwve")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uvhj2")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Red",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4vchd")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_x8mei")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"Yellow",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_h0v6r"]
|
||||
size = Vector2(10, 10)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_f5bm0"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Egg:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Egg:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Yoshi:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("YoshiHatch:playing")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("YoshiSFX:playing")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_xcoq2"]
|
||||
resource_name = "new_animation"
|
||||
length = 4.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Egg:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [0, 1]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Egg:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 1.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Yoshi:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 1.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/3/type = "method"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath(".")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(3),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"show_smoke"
|
||||
}]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("YoshiHatch:playing")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(1),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("YoshiSFX:playing")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(1.5),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_byuma"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_f5bm0"),
|
||||
&"new_animation": SubResource("Animation_xcoq2")
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_2jlbu"]
|
||||
script = ExtResource("7_jen1s")
|
||||
Overworld = ExtResource("4_ljpfp")
|
||||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_peoeq"]
|
||||
script = ExtResource("7_jen1s")
|
||||
Overworld = ExtResource("5_ovuko")
|
||||
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
|
||||
|
||||
[node name="YoshiEgg" type="CharacterBody2D"]
|
||||
z_index = -1
|
||||
collision_layer = 8
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_byuma")
|
||||
|
||||
[node name="Egg" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -8)
|
||||
sprite_frames = SubResource("SpriteFrames_r541a")
|
||||
animation = &"Yellow"
|
||||
speed_scale = 0.0
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Egg" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_peoeq")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("4_r541a")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="Yoshi" type="AnimatedSprite2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -16)
|
||||
sprite_frames = SubResource("SpriteFrames_ytyif")
|
||||
animation = &"Green"
|
||||
autoplay = "Green"
|
||||
|
||||
[node name="ResourceSetterNew" type="Node" parent="Yoshi" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("3_peoeq")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "sprite_frames"
|
||||
resource_json = ExtResource("6_3ntsy")
|
||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -5)
|
||||
shape = SubResource("RectangleShape2D_h0v6r")
|
||||
|
||||
[node name="Animation" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_byuma")
|
||||
}
|
||||
autoplay = "new_animation"
|
||||
|
||||
[node name="ScoreNoteSpawner" type="Node" parent="."]
|
||||
script = ExtResource("4_f5bm0")
|
||||
add_score = true
|
||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||
|
||||
[node name="YoshiHatch" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = ExtResource("4_ljpfp")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="YoshiHatch" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("6_swra8")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "stream"
|
||||
themed_resource = SubResource("Resource_2jlbu")
|
||||
metadata/_custom_type_script = "uid://cq6f682453q6o"
|
||||
|
||||
[node name="YoshiSFX" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = ExtResource("5_ovuko")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="ResourceSetter" type="Node" parent="YoshiSFX" node_paths=PackedStringArray("node_to_affect")]
|
||||
script = ExtResource("6_swra8")
|
||||
node_to_affect = NodePath("..")
|
||||
property_name = "stream"
|
||||
themed_resource = SubResource("Resource_peoeq")
|
||||
metadata/_custom_type_script = "uid://cq6f682453q6o"
|
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]]
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user