mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 07:28:14 +00:00
Compare commits
5 Commits
ed297891fd
...
9a0d61d1e1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
9a0d61d1e1 | ||
![]() |
7d6652a242 | ||
![]() |
676efa6443 | ||
![]() |
ad92f70925 | ||
![]() |
9a17f140e0 |
@@ -5,10 +5,10 @@
|
|||||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_4g6tc"]
|
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="3_4g6tc"]
|
||||||
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/SpikeBlock.json" id="4_dftxp"]
|
[ext_resource type="JSON" path="res://Assets/Sprites/Blocks/SpikeBlock.json" id="4_dftxp"]
|
||||||
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_w3ysb"]
|
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="4_w3ysb"]
|
||||||
|
[ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="6_l3otb"]
|
||||||
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="7_4g6tc"]
|
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="7_4g6tc"]
|
||||||
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="7_bcd7j"]
|
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="7_bcd7j"]
|
||||||
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="8_w3ysb"]
|
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="8_w3ysb"]
|
||||||
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="10_6hvsh"]
|
|
||||||
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="10_xfdnj"]
|
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="10_xfdnj"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_v0way"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_v0way"]
|
||||||
@@ -154,9 +154,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||||
shape = SubResource("RectangleShape2D_cgdwi")
|
shape = SubResource("RectangleShape2D_cgdwi")
|
||||||
|
|
||||||
[node name="Hitbox" type="Area2D" parent="."]
|
[node name="PlayerDetection" type="Area2D" parent="."]
|
||||||
|
script = ExtResource("6_l3otb")
|
||||||
|
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||||
|
|
||||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
|
||||||
shape = SubResource("RectangleShape2D_r7ue2")
|
shape = SubResource("RectangleShape2D_r7ue2")
|
||||||
|
|
||||||
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
|
||||||
@@ -176,10 +178,4 @@ script = ExtResource("10_xfdnj")
|
|||||||
offset = Vector2(0, 0)
|
offset = Vector2(0, 0)
|
||||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||||
|
|
||||||
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
[connection signal="player_entered" from="PlayerDetection" to="." method="damage_player"]
|
||||||
script = ExtResource("10_6hvsh")
|
|
||||||
hitbox = NodePath("../Hitbox")
|
|
||||||
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
|
||||||
|
|
||||||
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
|
||||||
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=11 format=3 uid="uid://bpsrc21amnlgb"]
|
[gd_scene load_steps=12 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="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="Texture2D" uid="uid://c3l6ynlufxcfp" path="res://Assets/Sprites/Enemies/Boo.png" id="1_mkqqf"]
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Boo.json" id="3_xhmhl"]
|
[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://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"]
|
[ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="6_7u2yg"]
|
||||||
|
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="7_wu7y3"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wu7y3"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_wu7y3"]
|
||||||
atlas = ExtResource("1_mkqqf")
|
atlas = ExtResource("1_mkqqf")
|
||||||
@@ -37,12 +38,14 @@ animations = [{
|
|||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ilcde"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ilcde"]
|
||||||
size = Vector2(12, 12)
|
size = Vector2(12, 12)
|
||||||
|
|
||||||
[node name="Boo" type="Node2D" groups=["Enemies"]]
|
[node name="Boo" type="CharacterBody2D" groups=["Enemies"]]
|
||||||
script = ExtResource("1_ilcde")
|
script = ExtResource("1_ilcde")
|
||||||
|
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||||
|
|
||||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||||
position = Vector2(0, -8)
|
position = Vector2(0, -8)
|
||||||
scale = Vector2(-1, 1)
|
rotation = -3.1415927
|
||||||
|
scale = Vector2(1, -1)
|
||||||
sprite_frames = SubResource("SpriteFrames_i46bk")
|
sprite_frames = SubResource("SpriteFrames_i46bk")
|
||||||
animation = &"WhiteIdle"
|
animation = &"WhiteIdle"
|
||||||
flip_h = true
|
flip_h = true
|
||||||
@@ -74,5 +77,14 @@ script = ExtResource("6_7u2yg")
|
|||||||
disable_physics = false
|
disable_physics = false
|
||||||
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("7_wu7y3")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [1000]]
|
[connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [1000]]
|
||||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
[connection signal="killed" from="." to="." method="summon_smoke_particle" unbinds=1]
|
||||||
|
[connection signal="hammer_player_hit" from="EnemyPlayerDetection" to="." method="die_from_hammer"]
|
||||||
|
[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"]
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=16 format=3 uid="uid://coasuq2vsmlce"]
|
[gd_scene load_steps=17 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="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="Script" uid="uid://djdtghrjbpv2i" path="res://Scripts/Classes/Entities/Enemies/BooBuddies.gd" id="1_vavt3"]
|
||||||
@@ -10,6 +10,7 @@
|
|||||||
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="6_5b8ig"]
|
[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="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"]
|
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/BooBuddy.json" id="9_ifdhg"]
|
||||||
|
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="10_al3pe"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7u2yg"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_7u2yg"]
|
||||||
atlas = ExtResource("1_bek6j")
|
atlas = ExtResource("1_bek6j")
|
||||||
@@ -62,8 +63,9 @@ func _physics_process(delta: float) -> void:
|
|||||||
idx += 1
|
idx += 1
|
||||||
"
|
"
|
||||||
|
|
||||||
[node name="BooBuddies" type="Node2D" groups=["Enemies"]]
|
[node name="BooBuddies" type="CharacterBody2D" groups=["Enemies"]]
|
||||||
script = ExtResource("1_vavt3")
|
script = ExtResource("1_vavt3")
|
||||||
|
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||||
|
|
||||||
[node name="RotationJoint" type="Sprite2D" parent="."]
|
[node name="RotationJoint" type="Sprite2D" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@@ -106,6 +108,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo1/Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo1/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_1eh5v")
|
shape = SubResource("RectangleShape2D_1eh5v")
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="Boos/Boo1" node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("10_al3pe")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[node name="Boo2" type="Node2D" parent="Boos"]
|
[node name="Boo2" type="Node2D" parent="Boos"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@@ -130,6 +137,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo2/Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo2/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_1eh5v")
|
shape = SubResource("RectangleShape2D_1eh5v")
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="Boos/Boo2" node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("10_al3pe")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[node name="Boo3" type="Node2D" parent="Boos"]
|
[node name="Boo3" type="Node2D" parent="Boos"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@@ -154,6 +166,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo3/Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo3/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_1eh5v")
|
shape = SubResource("RectangleShape2D_1eh5v")
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="Boos/Boo3" node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("10_al3pe")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[node name="Boo4" type="Node2D" parent="Boos"]
|
[node name="Boo4" type="Node2D" parent="Boos"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@@ -178,6 +195,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo4/Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo4/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_1eh5v")
|
shape = SubResource("RectangleShape2D_1eh5v")
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="Boos/Boo4" node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("10_al3pe")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[node name="Boo5" type="Node2D" parent="Boos"]
|
[node name="Boo5" type="Node2D" parent="Boos"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@@ -202,6 +224,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo5/Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo5/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_1eh5v")
|
shape = SubResource("RectangleShape2D_1eh5v")
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="Boos/Boo5" node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("10_al3pe")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[node name="Boo6" type="Node2D" parent="Boos"]
|
[node name="Boo6" type="Node2D" parent="Boos"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@@ -226,6 +253,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo6/Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo6/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_1eh5v")
|
shape = SubResource("RectangleShape2D_1eh5v")
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="Boos/Boo6" node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("10_al3pe")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[node name="Boo7" type="Node2D" parent="Boos"]
|
[node name="Boo7" type="Node2D" parent="Boos"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@@ -250,6 +282,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo7/Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo7/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_1eh5v")
|
shape = SubResource("RectangleShape2D_1eh5v")
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="Boos/Boo7" node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("10_al3pe")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[node name="Boo8" type="Node2D" parent="Boos"]
|
[node name="Boo8" type="Node2D" parent="Boos"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@@ -274,6 +311,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo8/Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo8/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_1eh5v")
|
shape = SubResource("RectangleShape2D_1eh5v")
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="Boos/Boo8" node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("10_al3pe")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[node name="Boo9" type="Node2D" parent="Boos"]
|
[node name="Boo9" type="Node2D" parent="Boos"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@@ -298,6 +340,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo9/Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo9/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_1eh5v")
|
shape = SubResource("RectangleShape2D_1eh5v")
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="Boos/Boo9" node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("10_al3pe")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[node name="Boo10" type="Node2D" parent="Boos"]
|
[node name="Boo10" type="Node2D" parent="Boos"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@@ -322,6 +369,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo10/Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo10/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_1eh5v")
|
shape = SubResource("RectangleShape2D_1eh5v")
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="Boos/Boo10" node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("10_al3pe")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[node name="Boo11" type="Node2D" parent="Boos"]
|
[node name="Boo11" type="Node2D" parent="Boos"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@@ -346,6 +398,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo11/Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo11/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_1eh5v")
|
shape = SubResource("RectangleShape2D_1eh5v")
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="Boos/Boo11" node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("10_al3pe")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[node name="Boo12" type="Node2D" parent="Boos"]
|
[node name="Boo12" type="Node2D" parent="Boos"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@@ -370,6 +427,11 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo12/Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Boos/Boo12/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_1eh5v")
|
shape = SubResource("RectangleShape2D_1eh5v")
|
||||||
|
|
||||||
|
[node name="EnemyPlayerDetection" type="Node" parent="Boos/Boo12" node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("10_al3pe")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[node name="BooPositioner" type="Node" parent="."]
|
[node name="BooPositioner" type="Node" parent="."]
|
||||||
process_mode = 3
|
process_mode = 3
|
||||||
script = SubResource("GDScript_vavt3")
|
script = SubResource("GDScript_vavt3")
|
||||||
@@ -378,15 +440,27 @@ script = SubResource("GDScript_vavt3")
|
|||||||
script = ExtResource("6_5b8ig")
|
script = ExtResource("6_5b8ig")
|
||||||
properties = Array[String](["length", "direction", "boo_amount", "spread_boos"])
|
properties = Array[String](["length", "direction", "boo_amount", "spread_boos"])
|
||||||
|
|
||||||
[connection signal="area_entered" from="Boos/Boo1/Hitbox" to="." method="on_area_entered"]
|
[connection signal="player_hit" from="Boos/Boo1/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
[connection signal="area_entered" from="Boos/Boo2/Hitbox" to="." method="on_area_entered"]
|
[connection signal="player_stomped_on" from="Boos/Boo1/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
[connection signal="area_entered" from="Boos/Boo3/Hitbox" to="." method="on_area_entered"]
|
[connection signal="player_hit" from="Boos/Boo2/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
[connection signal="area_entered" from="Boos/Boo4/Hitbox" to="." method="on_area_entered"]
|
[connection signal="player_stomped_on" from="Boos/Boo2/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
[connection signal="area_entered" from="Boos/Boo5/Hitbox" to="." method="on_area_entered"]
|
[connection signal="player_hit" from="Boos/Boo3/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
[connection signal="area_entered" from="Boos/Boo6/Hitbox" to="." method="on_area_entered"]
|
[connection signal="player_stomped_on" from="Boos/Boo3/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
[connection signal="area_entered" from="Boos/Boo7/Hitbox" to="." method="on_area_entered"]
|
[connection signal="player_hit" from="Boos/Boo4/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
[connection signal="area_entered" from="Boos/Boo8/Hitbox" to="." method="on_area_entered"]
|
[connection signal="player_stomped_on" from="Boos/Boo4/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
[connection signal="area_entered" from="Boos/Boo9/Hitbox" to="." method="on_area_entered"]
|
[connection signal="player_hit" from="Boos/Boo5/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
[connection signal="area_entered" from="Boos/Boo10/Hitbox" to="." method="on_area_entered"]
|
[connection signal="player_stomped_on" from="Boos/Boo5/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
[connection signal="area_entered" from="Boos/Boo11/Hitbox" to="." method="on_area_entered"]
|
[connection signal="player_hit" from="Boos/Boo6/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
[connection signal="area_entered" from="Boos/Boo12/Hitbox" to="." method="on_area_entered"]
|
[connection signal="player_stomped_on" from="Boos/Boo6/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_hit" from="Boos/Boo7/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_stomped_on" from="Boos/Boo7/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_hit" from="Boos/Boo8/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_stomped_on" from="Boos/Boo8/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_hit" from="Boos/Boo9/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_stomped_on" from="Boos/Boo9/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_hit" from="Boos/Boo10/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_stomped_on" from="Boos/Boo10/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_hit" from="Boos/Boo11/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_stomped_on" from="Boos/Boo11/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_hit" from="Boos/Boo12/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_stomped_on" from="Boos/Boo12/EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
@@ -1,10 +1,11 @@
|
|||||||
[gd_scene load_steps=10 format=3 uid="uid://blbarreyjem4l"]
|
[gd_scene load_steps=11 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="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://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://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="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"]
|
[ext_resource type="JSON" path="res://Assets/Sprites/Items/BowserFlame.json" id="5_0e5kh"]
|
||||||
|
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="6_0e5kh"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_iikig"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_iikig"]
|
||||||
atlas = ExtResource("1_4hwux")
|
atlas = ExtResource("1_4hwux")
|
||||||
@@ -31,11 +32,13 @@ animations = [{
|
|||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ohhuu"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ohhuu"]
|
||||||
size = Vector2(12, 4)
|
size = Vector2(12, 4)
|
||||||
|
|
||||||
[node name="BowserFlame" type="Node2D" groups=["Enemies"]]
|
[node name="BowserFlame" type="CharacterBody2D" groups=["Enemies"]]
|
||||||
script = ExtResource("1_dq7qg")
|
script = ExtResource("1_dq7qg")
|
||||||
|
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||||
|
|
||||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||||
scale = Vector2(-1, 1)
|
rotation = -3.1415927
|
||||||
|
scale = Vector2(1, -1)
|
||||||
sprite_frames = SubResource("SpriteFrames_oy8b6")
|
sprite_frames = SubResource("SpriteFrames_oy8b6")
|
||||||
autoplay = "default"
|
autoplay = "default"
|
||||||
frame_progress = 0.67141116
|
frame_progress = 0.67141116
|
||||||
@@ -60,6 +63,12 @@ shape = SubResource("RectangleShape2D_ohhuu")
|
|||||||
position = Vector2(-2.38419e-07, 0)
|
position = Vector2(-2.38419e-07, 0)
|
||||||
scale = Vector2(1.6, 1)
|
scale = Vector2(1.6, 1)
|
||||||
|
|
||||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("6_0e5kh")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
metadata/_custom_type_script = "uid://chj8hu207lrh"
|
||||||
|
|
||||||
[connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="play_sfx"]
|
[connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="play_sfx"]
|
||||||
[connection signal="screen_exited" from="VisibleOnScreenEnabler2D" to="." method="queue_free"]
|
[connection signal="screen_exited" from="VisibleOnScreenEnabler2D" to="." method="queue_free"]
|
||||||
|
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=24 format=3 uid="uid://clbvyne1cr8gp"]
|
[gd_scene load_steps=25 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="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://brjkrkihadwnj" path="res://Assets/Sprites/Particles/FireballExplosion.png" id="2_4aiuq"]
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="4_hjivi"]
|
[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"]
|
[ext_resource type="AudioStream" uid="uid://d12v455mw8uvu" path="res://Assets/Audio/SFX/Cannon.wav" id="5_8imqq"]
|
||||||
[ext_resource type="JSON" path="res://Assets/Sprites/Particles/FireballExplosion.json" id="5_hjivi"]
|
[ext_resource type="JSON" path="res://Assets/Sprites/Particles/FireballExplosion.json" id="5_hjivi"]
|
||||||
|
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="8_hjivi"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vnd2t"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_vnd2t"]
|
||||||
atlas = ExtResource("2_4aiuq")
|
atlas = ExtResource("2_4aiuq")
|
||||||
@@ -243,8 +244,9 @@ _data = {
|
|||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_6tdk1"]
|
[sub_resource type="CircleShape2D" id="CircleShape2D_6tdk1"]
|
||||||
radius = 24.0
|
radius = 24.0
|
||||||
|
|
||||||
[node name="Explosion" type="Node2D"]
|
[node name="Explosion" type="CharacterBody2D"]
|
||||||
script = ExtResource("1_aklik")
|
script = ExtResource("1_aklik")
|
||||||
|
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||||
metadata/is_explosion = true
|
metadata/is_explosion = true
|
||||||
|
|
||||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||||
@@ -317,5 +319,10 @@ collision_mask = 255
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||||
shape = SubResource("CircleShape2D_6tdk1")
|
shape = SubResource("CircleShape2D_6tdk1")
|
||||||
|
|
||||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("8_hjivi")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
|
||||||
[connection signal="body_entered" from="Hitbox" to="." method="on_body_entered"]
|
[connection signal="body_entered" from="Hitbox" to="." method="on_body_entered"]
|
||||||
|
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
@@ -1,14 +1,12 @@
|
|||||||
[gd_scene load_steps=16 format=3 uid="uid://rruc6lnk16rr"]
|
[gd_scene load_steps=14 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="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="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://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="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="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://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="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"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_c30tx"]
|
||||||
atlas = ExtResource("1_ybxan")
|
atlas = ExtResource("1_ybxan")
|
||||||
@@ -136,8 +134,6 @@ resource_json = ExtResource("4_newwu")
|
|||||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||||
|
|
||||||
[node name="Hitbox" type="Area2D" parent="Sprite"]
|
[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"]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite/Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_ydslq")
|
shape = SubResource("RectangleShape2D_ydslq")
|
||||||
@@ -160,7 +156,6 @@ metadata/_custom_type_script = "uid://dt2p68xl462v2"
|
|||||||
[node name="LabelFontChanger" type="Node" parent="Label" node_paths=PackedStringArray("labels")]
|
[node name="LabelFontChanger" type="Node" parent="Label" node_paths=PackedStringArray("labels")]
|
||||||
script = ExtResource("7_eol0e")
|
script = ExtResource("7_eol0e")
|
||||||
labels = [NodePath("..")]
|
labels = [NodePath("..")]
|
||||||
resource = ExtResource("8_34q7a")
|
|
||||||
metadata/_custom_type_script = "uid://co6tjg3w6qpd8"
|
metadata/_custom_type_script = "uid://co6tjg3w6qpd8"
|
||||||
|
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Label"]
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="Label"]
|
||||||
@@ -168,4 +163,4 @@ libraries = {
|
|||||||
&"": SubResource("AnimationLibrary_ov4xw")
|
&"": SubResource("AnimationLibrary_ov4xw")
|
||||||
}
|
}
|
||||||
|
|
||||||
[connection signal="player_entered" from="Sprite/Hitbox" to="." method="collect_item"]
|
[connection signal="area_entered" from="Sprite/Hitbox" to="." method="on_area_entered"]
|
||||||
|
@@ -1,22 +1,21 @@
|
|||||||
[gd_scene load_steps=10 format=3 uid="uid://dn2rawqxpuywe"]
|
[gd_scene load_steps=9 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="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="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://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://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"]
|
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Hachisuke.json" id="4_db2kr"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qj4fn"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_qj4fn"]
|
||||||
atlas = ExtResource("2_wdqsg")
|
atlas = ExtResource("2_wdqsg")
|
||||||
region = Rect2(0, 0, 16, 16)
|
region = Rect2(0, 0, 16, 16)
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kn7db"]
|
|
||||||
size = Vector2(12, 12)
|
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6c253"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6c253"]
|
||||||
size = Vector2(16, 16)
|
size = Vector2(16, 16)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_8f4k7"]
|
||||||
|
size = Vector2(12, 12)
|
||||||
|
|
||||||
[node name="Hachisuke" type="CharacterBody2D"]
|
[node name="Hachisuke" type="CharacterBody2D"]
|
||||||
collision_layer = 8
|
collision_layer = 8
|
||||||
collision_mask = 6
|
collision_mask = 6
|
||||||
@@ -40,18 +39,14 @@ script = ExtResource("3_eh4yc")
|
|||||||
add_score = true
|
add_score = true
|
||||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
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="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
position = Vector2(0, -8)
|
position = Vector2(0, -8)
|
||||||
shape = SubResource("RectangleShape2D_6c253")
|
shape = SubResource("RectangleShape2D_6c253")
|
||||||
|
|
||||||
[connection signal="player_entered" from="PlayerDetection" to="ScoreNoteSpawner" method="spawn_note" binds= [8000]]
|
[node name="Hitbox" type="Area2D" parent="."]
|
||||||
[connection signal="player_entered" from="PlayerDetection" to="." method="play_sfx" unbinds=1]
|
position = Vector2(0, -8)
|
||||||
[connection signal="player_entered" from="PlayerDetection" to="." method="queue_free" unbinds=1]
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||||
|
shape = SubResource("RectangleShape2D_8f4k7")
|
||||||
|
|
||||||
|
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
[gd_scene load_steps=10 format=3 uid="uid://deo08vl26nc4b"]
|
[gd_scene load_steps=11 format=3 uid="uid://hqrc7ujinbcq"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://s1utdly4mtbi" path="res://Scripts/Classes/Entities/Items/Hammer.gd" id="1_3ojke"]
|
[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="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="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"]
|
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Hammer.json" id="4_pmlpp"]
|
||||||
|
[ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="5_pmlpp"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2tvg3"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_2tvg3"]
|
||||||
atlas = ExtResource("1_o34jf")
|
atlas = ExtResource("1_o34jf")
|
||||||
@@ -51,17 +52,17 @@ _data = {
|
|||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_pmlpp"]
|
[sub_resource type="CircleShape2D" id="CircleShape2D_pmlpp"]
|
||||||
radius = 4.0
|
radius = 4.0
|
||||||
|
|
||||||
[node name="Hammer" type="Node2D" groups=["Enemies"]]
|
[node name="Hammer" type="CharacterBody2D" groups=["Enemies"]]
|
||||||
script = ExtResource("1_3ojke")
|
script = ExtResource("1_3ojke")
|
||||||
|
metadata/_custom_type_script = "uid://bpydbpyjk1mt4"
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite2D" parent="."]
|
[node name="Sprite" type="Sprite2D" parent="."]
|
||||||
physics_interpolation_mode = 2
|
physics_interpolation_mode = 2
|
||||||
texture = SubResource("AtlasTexture_2tvg3")
|
texture = SubResource("AtlasTexture_2tvg3")
|
||||||
|
|
||||||
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect", "property_node")]
|
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect")]
|
||||||
script = ExtResource("3_k3c6x")
|
script = ExtResource("3_k3c6x")
|
||||||
node_to_affect = NodePath("..")
|
node_to_affect = NodePath("..")
|
||||||
property_node = NodePath("../..")
|
|
||||||
property_name = "texture"
|
property_name = "texture"
|
||||||
mode = 1
|
mode = 1
|
||||||
resource_json = ExtResource("4_pmlpp")
|
resource_json = ExtResource("4_pmlpp")
|
||||||
@@ -78,4 +79,9 @@ autoplay = "Rotate"
|
|||||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||||
shape = SubResource("CircleShape2D_pmlpp")
|
shape = SubResource("CircleShape2D_pmlpp")
|
||||||
|
|
||||||
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
[node name="EnemyPlayerDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||||
|
script = ExtResource("5_pmlpp")
|
||||||
|
hitbox = NodePath("../Hitbox")
|
||||||
|
|
||||||
|
[connection signal="player_hit" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
[connection signal="player_stomped_on" from="EnemyPlayerDetection" to="." method="damage_player"]
|
||||||
|
@@ -1,31 +1,22 @@
|
|||||||
[gd_scene load_steps=8 format=3 uid="uid://bwdwavf4rp1m1"]
|
[gd_scene load_steps=7 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="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="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="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"]
|
[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"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_uc7h7"]
|
||||||
size = Vector2(10, 10)
|
size = Vector2(10, 10)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ws752"]
|
||||||
|
size = Vector2(12, 12)
|
||||||
|
|
||||||
[node name="HammerItem" type="CharacterBody2D"]
|
[node name="HammerItem" type="CharacterBody2D"]
|
||||||
collision_layer = 8
|
collision_layer = 8
|
||||||
collision_mask = 2
|
collision_mask = 2
|
||||||
script = ExtResource("1_ws752")
|
script = ExtResource("1_ws752")
|
||||||
metadata/_custom_type_script = "uid://cjkurwybsaywm"
|
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="."]
|
[node name="Sprite" type="Sprite2D" parent="."]
|
||||||
position = Vector2(0, -8)
|
position = Vector2(0, -8)
|
||||||
texture = ExtResource("2_c0srl")
|
texture = ExtResource("2_c0srl")
|
||||||
@@ -44,4 +35,10 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
position = Vector2(0, -5)
|
position = Vector2(0, -5)
|
||||||
shape = SubResource("RectangleShape2D_uc7h7")
|
shape = SubResource("RectangleShape2D_uc7h7")
|
||||||
|
|
||||||
[connection signal="player_entered" from="Hitbox" to="." method="on_player_entered"]
|
[node name="Hitbox" type="Area2D" parent="."]
|
||||||
|
position = Vector2(0, -8)
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||||
|
shape = SubResource("RectangleShape2D_ws752")
|
||||||
|
|
||||||
|
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||||||
|
@@ -1,10 +1,9 @@
|
|||||||
[gd_scene load_steps=18 format=3 uid="uid://ny5glffi0suh"]
|
[gd_scene load_steps=17 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="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://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://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://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="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"]
|
[ext_resource type="Texture2D" uid="uid://sgrcmlktp2dk" path="res://Assets/Sprites/Particles/SRankParticles.png" id="7_2yl70"]
|
||||||
|
|
||||||
@@ -146,8 +145,6 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
|
|
||||||
[node name="Hitbox" type="Area2D" parent="."]
|
[node name="Hitbox" type="Area2D" parent="."]
|
||||||
position = Vector2(0, -8)
|
position = Vector2(0, -8)
|
||||||
script = ExtResource("3_m8uts")
|
|
||||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_2u37r")
|
shape = SubResource("RectangleShape2D_2u37r")
|
||||||
@@ -165,3 +162,5 @@ amount = 1
|
|||||||
texture = ExtResource("7_2yl70")
|
texture = ExtResource("7_2yl70")
|
||||||
randomness = 0.12
|
randomness = 0.12
|
||||||
process_material = SubResource("ParticleProcessMaterial_rls2x")
|
process_material = SubResource("ParticleProcessMaterial_rls2x")
|
||||||
|
|
||||||
|
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||||||
|
@@ -1,18 +1,18 @@
|
|||||||
[gd_scene load_steps=11 format=3 uid="uid://dhd0gp2xvl53l"]
|
[gd_scene load_steps=10 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="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="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="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"]
|
[ext_resource type="JSON" path="res://Assets/Sprites/Items/LuckyStar.json" id="4_4cwfa"]
|
||||||
|
|
||||||
[sub_resource type="GDScript" id="GDScript_y0edb"]
|
[sub_resource type="GDScript" id="GDScript_y0edb"]
|
||||||
script/source = "extends PowerUpItem
|
script/source = "extends PowerUpItem
|
||||||
|
|
||||||
func player_entered(_player: Player) -> void:
|
func on_area_entered(area: Area2D) -> void:
|
||||||
queue_free()
|
if area.owner is Player:
|
||||||
AudioManager.play_global_sfx(\"lucky_star\")
|
queue_free()
|
||||||
get_tree().call_group(\"Enemies\", \"flag_die\")
|
AudioManager.play_global_sfx(\"lucky_star\")
|
||||||
|
get_tree().call_group(\"Enemies\", \"flag_die\")
|
||||||
"
|
"
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ke2o5"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ke2o5"]
|
||||||
@@ -59,12 +59,10 @@ property_name = "sprite_frames"
|
|||||||
resource_json = ExtResource("4_4cwfa")
|
resource_json = ExtResource("4_4cwfa")
|
||||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||||
|
|
||||||
[node name="PlayerDetection" type="Area2D" parent="."]
|
[node name="Hitbox" type="Area2D" parent="."]
|
||||||
position = Vector2(0, -8)
|
position = Vector2(0, -8)
|
||||||
script = ExtResource("3_724cb")
|
|
||||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||||
shape = SubResource("RectangleShape2D_7yv5x")
|
shape = SubResource("RectangleShape2D_7yv5x")
|
||||||
|
|
||||||
[connection signal="player_entered" from="PlayerDetection" to="." method="player_entered"]
|
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||||||
|
@@ -1,10 +1,9 @@
|
|||||||
[gd_scene load_steps=18 format=3 uid="uid://cmbpqnq10arts"]
|
[gd_scene load_steps=17 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="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="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://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://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="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"]
|
[ext_resource type="JSON" path="res://Assets/Sprites/Items/RedCoin.json" id="5_0fjrw"]
|
||||||
|
|
||||||
@@ -103,8 +102,6 @@ metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
|||||||
|
|
||||||
[node name="Hitbox" type="Area2D" parent="."]
|
[node name="Hitbox" type="Area2D" parent="."]
|
||||||
collision_mask = 5
|
collision_mask = 5
|
||||||
script = ExtResource("3_onh0k")
|
|
||||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
|
||||||
|
|
||||||
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
|
||||||
position = Vector2(0, 1.5)
|
position = Vector2(0, 1.5)
|
||||||
@@ -113,8 +110,8 @@ shape = SubResource("RectangleShape2D_4qu2r")
|
|||||||
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
[node name="BlockBouncingDetection" type="Node" parent="." node_paths=PackedStringArray("hitbox")]
|
||||||
script = ExtResource("4_lwdcj")
|
script = ExtResource("4_lwdcj")
|
||||||
detection_type = 1
|
detection_type = 1
|
||||||
hitbox = NodePath("../Hitbox")
|
hitbox = NodePath("")
|
||||||
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
metadata/_custom_type_script = "uid://cmg61722ktg2m"
|
||||||
|
|
||||||
[connection signal="player_entered" from="Hitbox" to="." method="on_player_entered"]
|
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||||||
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="summon_bounced_coin" unbinds=1]
|
[connection signal="block_bounced" from="BlockBouncingDetection" to="." method="summon_bounced_coin" unbinds=1]
|
||||||
|
@@ -1,8 +1,7 @@
|
|||||||
[gd_scene load_steps=10 format=3 uid="uid://ck0spcws71sg5"]
|
[gd_scene load_steps=9 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://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://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="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://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"]
|
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="4_gdso8"]
|
||||||
@@ -10,10 +9,13 @@
|
|||||||
[sub_resource type="GDScript" id="GDScript_gdso8"]
|
[sub_resource type="GDScript" id="GDScript_gdso8"]
|
||||||
script/source = "extends PowerUpItem
|
script/source = "extends PowerUpItem
|
||||||
|
|
||||||
func player_entered(player: Player) -> void:
|
func on_area_entered(area: Area2D) -> void:
|
||||||
AudioManager.play_sfx(\"power_up\", global_position)
|
if area.owner is Player:
|
||||||
player.wing_get()
|
AudioManager.play_sfx(\"power_up\", global_position)
|
||||||
queue_free()
|
Global.score += 1000
|
||||||
|
$ScoreNoteSpawner.spawn_note(1000)
|
||||||
|
area.owner.wing_get()
|
||||||
|
queue_free()
|
||||||
"
|
"
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fcvyr"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fcvyr"]
|
||||||
@@ -42,8 +44,6 @@ resource_json = ExtResource("3_1uenh")
|
|||||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||||
|
|
||||||
[node name="Hitbox" type="Area2D" parent="."]
|
[node name="Hitbox" type="Area2D" parent="."]
|
||||||
script = ExtResource("2_neobf")
|
|
||||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||||
position = Vector2(0, -8)
|
position = Vector2(0, -8)
|
||||||
@@ -62,5 +62,4 @@ script = ExtResource("4_gdso8")
|
|||||||
add_score = true
|
add_score = true
|
||||||
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
metadata/_custom_type_script = "uid://5octqlf4ohel"
|
||||||
|
|
||||||
[connection signal="player_entered" from="Hitbox" to="." method="player_entered"]
|
[connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
|
||||||
[connection signal="player_entered" from="Hitbox" to="ScoreNoteSpawner" method="spawn_note" binds= [1000]]
|
|
||||||
|
@@ -84,12 +84,12 @@ property_name = "sprite_frames"
|
|||||||
resource_json = ExtResource("5_ix70v")
|
resource_json = ExtResource("5_ix70v")
|
||||||
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
|
||||||
|
|
||||||
[node name="Hitbox" type="Area2D" parent="."]
|
[node name="PlayerDetection" type="Area2D" parent="."]
|
||||||
collision_layer = 255
|
collision_layer = 255
|
||||||
script = ExtResource("3_cgc3p")
|
script = ExtResource("3_cgc3p")
|
||||||
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
metadata/_custom_type_script = "uid://cnheej0sxmoxg"
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
|
||||||
shape = SubResource("CircleShape2D_tbo6k")
|
shape = SubResource("CircleShape2D_tbo6k")
|
||||||
|
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
@@ -107,4 +107,4 @@ metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
|
|||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
shape = SubResource("RectangleShape2D_tbo6k")
|
shape = SubResource("RectangleShape2D_tbo6k")
|
||||||
|
|
||||||
[connection signal="player_entered" from="Hitbox" to="." method="bounce_player"]
|
[connection signal="player_entered" from="PlayerDetection" to="." method="bounce_player"]
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://pidoncb5gcax" path="res://Assets/Sprites/Items/Fireball.png" id="2_s1hms"]
|
[ext_resource type="Texture2D" uid="uid://pidoncb5gcax" path="res://Assets/Sprites/Items/Fireball.png" id="2_s1hms"]
|
||||||
|
|
||||||
[sub_resource type="SegmentShape2D" id="SegmentShape2D_s77o2"]
|
[sub_resource type="SegmentShape2D" id="SegmentShape2D_s77o2"]
|
||||||
b = Vector2(0, 80)
|
b = Vector2(0, -40)
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_vag0n"]
|
[sub_resource type="Animation" id="Animation_vag0n"]
|
||||||
length = 0.001
|
length = 0.001
|
||||||
@@ -47,31 +47,31 @@ _data = {
|
|||||||
|
|
||||||
[node name="Firebar" instance=ExtResource("1_m6o3e")]
|
[node name="Firebar" instance=ExtResource("1_m6o3e")]
|
||||||
|
|
||||||
[node name="RemoteTransform2D17" type="RemoteTransform2D" parent="RotationJoint" index="6"]
|
[node name="RemoteTransform2D19" type="RemoteTransform2D" parent="RotationJoint" index="6"]
|
||||||
position = Vector2(0, 48)
|
position = Vector2(0, 48)
|
||||||
remote_path = NodePath("../../Fireballs/Fireball7")
|
remote_path = NodePath("../../Fireballs/Fireball7")
|
||||||
update_rotation = false
|
update_rotation = false
|
||||||
update_scale = false
|
update_scale = false
|
||||||
|
|
||||||
[node name="RemoteTransform2D18" type="RemoteTransform2D" parent="RotationJoint" index="7"]
|
[node name="RemoteTransform2D20" type="RemoteTransform2D" parent="RotationJoint" index="7"]
|
||||||
position = Vector2(0, 56)
|
position = Vector2(0, 56)
|
||||||
remote_path = NodePath("../../Fireballs/Fireball8")
|
remote_path = NodePath("../../Fireballs/Fireball8")
|
||||||
update_rotation = false
|
update_rotation = false
|
||||||
update_scale = false
|
update_scale = false
|
||||||
|
|
||||||
[node name="RemoteTransform2D19" type="RemoteTransform2D" parent="RotationJoint" index="8"]
|
[node name="RemoteTransform2D21" type="RemoteTransform2D" parent="RotationJoint" index="8"]
|
||||||
position = Vector2(0, 64)
|
position = Vector2(0, 64)
|
||||||
remote_path = NodePath("../../Fireballs/Fireball9")
|
remote_path = NodePath("../../Fireballs/Fireball9")
|
||||||
update_rotation = false
|
update_rotation = false
|
||||||
update_scale = false
|
update_scale = false
|
||||||
|
|
||||||
[node name="RemoteTransform2D20" type="RemoteTransform2D" parent="RotationJoint" index="9"]
|
[node name="RemoteTransform2D22" type="RemoteTransform2D" parent="RotationJoint" index="9"]
|
||||||
position = Vector2(0, 72)
|
position = Vector2(0, 72)
|
||||||
remote_path = NodePath("../../Fireballs/Fireball10")
|
remote_path = NodePath("../../Fireballs/Fireball10")
|
||||||
update_rotation = false
|
update_rotation = false
|
||||||
update_scale = false
|
update_scale = false
|
||||||
|
|
||||||
[node name="RemoteTransform2D21" type="RemoteTransform2D" parent="RotationJoint" index="10"]
|
[node name="RemoteTransform2D23" type="RemoteTransform2D" parent="RotationJoint" index="10"]
|
||||||
position = Vector2(0, 80)
|
position = Vector2(0, 80)
|
||||||
remote_path = NodePath("../../Fireballs/Fireball11")
|
remote_path = NodePath("../../Fireballs/Fireball11")
|
||||||
update_rotation = false
|
update_rotation = false
|
||||||
@@ -84,23 +84,28 @@ shape = SubResource("SegmentShape2D_s77o2")
|
|||||||
z_index = 4096
|
z_index = 4096
|
||||||
z_as_relative = false
|
z_as_relative = false
|
||||||
|
|
||||||
[node name="Fireball17" type="Sprite2D" parent="Fireballs" index="6"]
|
[node name="Fireball19" type="Sprite2D" parent="Fireballs" index="6"]
|
||||||
|
visible = false
|
||||||
position = Vector2(33.9411, 33.9411)
|
position = Vector2(33.9411, 33.9411)
|
||||||
texture = ExtResource("2_s1hms")
|
texture = ExtResource("2_s1hms")
|
||||||
|
|
||||||
[node name="Fireball18" type="Sprite2D" parent="Fireballs" index="7"]
|
[node name="Fireball20" type="Sprite2D" parent="Fireballs" index="7"]
|
||||||
|
visible = false
|
||||||
position = Vector2(39.598, 39.598)
|
position = Vector2(39.598, 39.598)
|
||||||
texture = ExtResource("2_s1hms")
|
texture = ExtResource("2_s1hms")
|
||||||
|
|
||||||
[node name="Fireball19" type="Sprite2D" parent="Fireballs" index="8"]
|
[node name="Fireball21" type="Sprite2D" parent="Fireballs" index="8"]
|
||||||
|
visible = false
|
||||||
position = Vector2(45.2548, 45.2548)
|
position = Vector2(45.2548, 45.2548)
|
||||||
texture = ExtResource("2_s1hms")
|
texture = ExtResource("2_s1hms")
|
||||||
|
|
||||||
[node name="Fireball20" type="Sprite2D" parent="Fireballs" index="9"]
|
[node name="Fireball22" type="Sprite2D" parent="Fireballs" index="9"]
|
||||||
|
visible = false
|
||||||
position = Vector2(50.9117, 50.9117)
|
position = Vector2(50.9117, 50.9117)
|
||||||
texture = ExtResource("2_s1hms")
|
texture = ExtResource("2_s1hms")
|
||||||
|
|
||||||
[node name="Fireball21" type="Sprite2D" parent="Fireballs" index="10"]
|
[node name="Fireball23" type="Sprite2D" parent="Fireballs" index="10"]
|
||||||
|
visible = false
|
||||||
position = Vector2(56.5685, 56.5686)
|
position = Vector2(56.5685, 56.5686)
|
||||||
texture = ExtResource("2_s1hms")
|
texture = ExtResource("2_s1hms")
|
||||||
|
|
||||||
|
@@ -190,11 +190,12 @@ func apply_properties(properties := {}) -> void:
|
|||||||
obj.set(p, properties[i])
|
obj.set(p, properties[i])
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func get_variation_json(json := {}) -> Dictionary:
|
func get_variation_json(json := {}) -> Dictionary:
|
||||||
var level_theme = Global.level_theme
|
var level_theme = Global.level_theme
|
||||||
if force_properties.has("Theme"):
|
if force_properties.has("Theme"):
|
||||||
level_theme = force_properties.Theme
|
level_theme = force_properties.Theme
|
||||||
|
|
||||||
for i in json.keys().filter(func(key): return key.contains("config:")):
|
for i in json.keys().filter(func(key): return key.contains("config:")):
|
||||||
get_config_file(current_resource_pack)
|
get_config_file(current_resource_pack)
|
||||||
if config_to_use != {}:
|
if config_to_use != {}:
|
||||||
|
@@ -1,20 +1,14 @@
|
|||||||
extends Node2D
|
extends Enemy
|
||||||
|
|
||||||
var target_player: Player = null
|
var target_player: Player = null
|
||||||
|
|
||||||
var velocity := Vector2.ZERO
|
|
||||||
|
|
||||||
const MOVE_SPEED := 30
|
const MOVE_SPEED := 30
|
||||||
const SMOKE_PARTICLE = preload("uid://d08nv4qtfouv1")
|
const SMOKE_PARTICLE = preload("uid://d08nv4qtfouv1")
|
||||||
var direction := -1
|
|
||||||
|
|
||||||
signal killed
|
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
target_player = get_tree().get_first_node_in_group("Players")
|
target_player = get_tree().get_first_node_in_group("Players")
|
||||||
if $TrackJoint.is_attached == false:
|
if $TrackJoint.is_attached == false:
|
||||||
handle_movement(delta)
|
handle_movement(delta)
|
||||||
$Sprite.scale.x = direction
|
$Sprite.scale.x = -direction
|
||||||
|
|
||||||
func handle_movement(delta: float) -> void:
|
func handle_movement(delta: float) -> void:
|
||||||
var target_direction = sign(target_player.global_position.x - global_position.x)
|
var target_direction = sign(target_player.global_position.x - global_position.x)
|
||||||
@@ -30,22 +24,6 @@ func handle_movement(delta: float) -> void:
|
|||||||
velocity = lerp(velocity, Vector2.ZERO, delta * 5)
|
velocity = lerp(velocity, Vector2.ZERO, delta * 5)
|
||||||
global_position += velocity * delta
|
global_position += velocity * delta
|
||||||
|
|
||||||
|
|
||||||
func on_area_entered(area: Area2D) -> void:
|
|
||||||
if area.owner is Player:
|
|
||||||
if area.owner.is_invincible or area.name == "HammerHitbox":
|
|
||||||
die()
|
|
||||||
else:
|
|
||||||
area.owner.damage()
|
|
||||||
|
|
||||||
func die() -> void:
|
|
||||||
summon_smoke_particle()
|
|
||||||
queue_free()
|
|
||||||
killed.emit()
|
|
||||||
|
|
||||||
func flag_die() -> void:
|
|
||||||
die()
|
|
||||||
|
|
||||||
func summon_smoke_particle() -> void:
|
func summon_smoke_particle() -> void:
|
||||||
var particle = SMOKE_PARTICLE.instantiate()
|
var particle = SMOKE_PARTICLE.instantiate()
|
||||||
particle.global_position = global_position
|
particle.global_position = global_position
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
extends Node2D
|
extends Enemy
|
||||||
|
|
||||||
@export_range(25, 180) var length := 80
|
@export_range(25, 180) var length := 80
|
||||||
@export_enum("Clockwise", "C-Clockwise") var direction := 0
|
|
||||||
@export_range(4, 12) var boo_amount := 10
|
@export_range(4, 12) var boo_amount := 10
|
||||||
@export var spread_boos := false
|
@export var spread_boos := false
|
||||||
|
|
||||||
@@ -9,10 +8,3 @@ func _physics_process(delta: float) -> void:
|
|||||||
%RotationJoint.global_rotation_degrees = wrap(%RotationJoint.global_rotation_degrees + (45 * [1, -1][direction]) * delta, 0, 360)
|
%RotationJoint.global_rotation_degrees = wrap(%RotationJoint.global_rotation_degrees + (45 * [1, -1][direction]) * delta, 0, 360)
|
||||||
for i in $Boos.get_children():
|
for i in $Boos.get_children():
|
||||||
i.get_node("Sprite").scale.x = sign(get_tree().get_first_node_in_group("Players").global_position.x + 1 - i.global_position.x)
|
i.get_node("Sprite").scale.x = sign(get_tree().get_first_node_in_group("Players").global_position.x + 1 - i.global_position.x)
|
||||||
|
|
||||||
func on_area_entered(area: Area2D) -> void:
|
|
||||||
if area.owner is Player and area.name != "HammerHitbox":
|
|
||||||
area.owner.damage()
|
|
||||||
|
|
||||||
func flag_die() -> void:
|
|
||||||
queue_free()
|
|
||||||
|
@@ -1,10 +1,9 @@
|
|||||||
class_name BowserFlame
|
class_name BowserFlame
|
||||||
extends Node2D
|
extends Enemy
|
||||||
|
|
||||||
@export_enum("Straight", "Aimed") var mode := 0
|
@export_enum("Straight", "Aimed") var mode := 0
|
||||||
|
|
||||||
var target_y := 0
|
var target_y := 0
|
||||||
var direction := -1
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
pass
|
pass
|
||||||
@@ -16,14 +15,7 @@ func movement(delta: float) -> void:
|
|||||||
if mode == 1:
|
if mode == 1:
|
||||||
global_position.y = move_toward(global_position.y, target_y, delta * 50)
|
global_position.y = move_toward(global_position.y, target_y, delta * 50)
|
||||||
global_position.x += (100 * direction) * delta
|
global_position.x += (100 * direction) * delta
|
||||||
$Sprite.scale.x = direction
|
$Sprite.scale.x = -direction
|
||||||
|
|
||||||
func flag_die() -> void:
|
|
||||||
queue_free()
|
|
||||||
|
|
||||||
func on_area_entered(area: Area2D) -> void:
|
|
||||||
if area.owner is Player and area.name != "HammerHitbox":
|
|
||||||
area.owner.damage()
|
|
||||||
|
|
||||||
func play_sfx() -> void:
|
func play_sfx() -> void:
|
||||||
AudioManager.play_sfx("bowser_flame", global_position)
|
AudioManager.play_sfx("bowser_flame", global_position)
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
extends PowerUpItem
|
extends PowerUpItem
|
||||||
|
|
||||||
func collect_item(_player: Player) -> void:
|
func on_area_entered(area: Area2D) -> void:
|
||||||
AudioManager.play_sfx("clock_get", global_position)
|
if area.owner is Player:
|
||||||
$Label/AnimationPlayer.play("Appear")
|
AudioManager.play_sfx("clock_get", global_position)
|
||||||
Global.time = clamp(Global.time + 100, 0, 999)
|
$Label/AnimationPlayer.play("Appear")
|
||||||
Global.score += 1000
|
Global.time = clamp(Global.time + 100, 0, 999)
|
||||||
|
Global.score += 1000
|
||||||
|
@@ -1,4 +1,8 @@
|
|||||||
extends PowerUpItem
|
extends PowerUpItem
|
||||||
|
|
||||||
func play_sfx() -> void:
|
func on_area_entered(area: Area2D) -> void:
|
||||||
AudioManager.play_sfx("hachisuke", global_position)
|
if area.owner is Player:
|
||||||
|
AudioManager.play_sfx("hachisuke", global_position)
|
||||||
|
Global.score += 8000
|
||||||
|
$ScoreNoteSpawner.spawn_note(8000)
|
||||||
|
queue_free()
|
||||||
|
@@ -1,11 +1,8 @@
|
|||||||
class_name Hammer
|
class_name Hammer
|
||||||
extends Node2D
|
extends Enemy
|
||||||
|
|
||||||
var velocity := Vector2(0, -200)
|
|
||||||
|
|
||||||
var direction := -1
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
velocity = Vector2(0, -200)
|
||||||
$Sprite.flip_h = direction == 1
|
$Sprite.flip_h = direction == 1
|
||||||
$Animations.speed_scale = -direction
|
$Animations.speed_scale = -direction
|
||||||
velocity.x = 120 * direction
|
velocity.x = 120 * direction
|
||||||
@@ -16,10 +13,3 @@ func _physics_process(delta: float) -> void:
|
|||||||
global_position += velocity * delta
|
global_position += velocity * delta
|
||||||
velocity.y += (Global.entity_gravity / delta) * delta
|
velocity.y += (Global.entity_gravity / delta) * delta
|
||||||
velocity.y = clamp(velocity.y, -INF, Global.entity_max_fall_speed)
|
velocity.y = clamp(velocity.y, -INF, Global.entity_max_fall_speed)
|
||||||
|
|
||||||
func flag_die() -> void:
|
|
||||||
queue_free()
|
|
||||||
|
|
||||||
func on_area_entered(area: Area2D) -> void:
|
|
||||||
if area.owner is Player and area.name != "HammerHitbox":
|
|
||||||
area.owner.damage()
|
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
extends PowerUpItem
|
extends PowerUpItem
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
func on_area_entered(area: Area2D) -> void:
|
||||||
pass
|
if area.owner is Player:
|
||||||
|
area.owner.hammer_get()
|
||||||
func on_player_entered(player: Player) -> void:
|
queue_free()
|
||||||
player.hammer_get()
|
|
||||||
queue_free()
|
|
||||||
|
@@ -6,11 +6,12 @@ const SMOKE_PARTICLE = preload("uid://d08nv4qtfouv1")
|
|||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
$AnimationPlayer.play("Float")
|
$AnimationPlayer.play("Float")
|
||||||
|
|
||||||
func collected() -> void:
|
func on_area_entered(area: Area2D) -> void:
|
||||||
total_collected += 1
|
if area.owner is Player:
|
||||||
AudioManager.play_sfx("key_collect", global_position)
|
total_collected += 1
|
||||||
summon_smoke_particle()
|
AudioManager.play_sfx("key_collect", global_position)
|
||||||
queue_free()
|
summon_smoke_particle()
|
||||||
|
queue_free()
|
||||||
|
|
||||||
func summon_smoke_particle() -> void:
|
func summon_smoke_particle() -> void:
|
||||||
var node = SMOKE_PARTICLE.instantiate()
|
var node = SMOKE_PARTICLE.instantiate()
|
||||||
|
@@ -14,8 +14,9 @@ func _ready() -> void:
|
|||||||
$Sprite.play("Collected")
|
$Sprite.play("Collected")
|
||||||
set_visibility_layer_bit(0, false)
|
set_visibility_layer_bit(0, false)
|
||||||
|
|
||||||
func on_player_entered(_player: Player) -> void:
|
func on_area_entered(area: Area2D) -> void:
|
||||||
collected()
|
if area.owner is Player:
|
||||||
|
collected()
|
||||||
|
|
||||||
func collected() -> void:
|
func collected() -> void:
|
||||||
if already_collected:
|
if already_collected:
|
||||||
|
@@ -72,6 +72,6 @@ func on_player_entered(_player: Player) -> void:
|
|||||||
|
|
||||||
|
|
||||||
func on_area_exited(area: Area2D) -> void:
|
func on_area_exited(area: Area2D) -> void:
|
||||||
if area.owner is Player:
|
if area.owner is Player and area.name != "HammerHitbox":
|
||||||
if area.owner.state_machine.state.name == "Climb":
|
if area.owner.state_machine.state.name == "Climb":
|
||||||
area.owner.state_machine.transition_to("Normal")
|
area.owner.state_machine.transition_to("Normal")
|
||||||
|
@@ -1,18 +1,9 @@
|
|||||||
class_name Explosion
|
class_name Explosion
|
||||||
extends Node2D
|
extends Enemy
|
||||||
|
|
||||||
const destructable_tiles := {Vector2i(4, 0): Rect2(32, 160, 16, 16), Vector2i(4, 2): Rect2(48, 160, 16, 16)}
|
const destructable_tiles := {Vector2i(4, 0): Rect2(32, 160, 16, 16), Vector2i(4, 2): Rect2(48, 160, 16, 16)}
|
||||||
const BLOCK_DESTRUCTION_PARTICLES = preload("uid://cyw7kk1em8h16")
|
const BLOCK_DESTRUCTION_PARTICLES = preload("uid://cyw7kk1em8h16")
|
||||||
|
|
||||||
|
|
||||||
func on_body_entered(body: Node2D) -> void:
|
func on_body_entered(body: Node2D) -> void:
|
||||||
if body is Block:
|
if body is Block:
|
||||||
if body.destructable: body.destroy()
|
if body.destructable: body.destroy()
|
||||||
if body is Player:
|
|
||||||
body.damage()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func on_area_entered(area: Area2D) -> void:
|
|
||||||
if area.owner is Player and area.name != "HammerHitbox":
|
|
||||||
area.owner.damage()
|
|
||||||
|
@@ -169,7 +169,7 @@ const ANIMATION_FALLBACKS := {
|
|||||||
"SkidAttack": "MoveAttack",
|
"SkidAttack": "MoveAttack",
|
||||||
"WingIdle": "WaterIdle",
|
"WingIdle": "WaterIdle",
|
||||||
"FlyUp": "SwimUp",
|
"FlyUp": "SwimUp",
|
||||||
"WingMove": "SwimMove",
|
"WingMove": "WaterMove",
|
||||||
"FlyAttack": "SwimAttack",
|
"FlyAttack": "SwimAttack",
|
||||||
"FlyBump": "SwimBump",
|
"FlyBump": "SwimBump",
|
||||||
"FlagSlide": "Climb",
|
"FlagSlide": "Climb",
|
||||||
|
@@ -101,6 +101,7 @@ const MUSIC_BASE = preload("uid://da4vqkrpqnma0")
|
|||||||
var character_sfx_map := {}
|
var character_sfx_map := {}
|
||||||
|
|
||||||
var audio_override_queue := []
|
var audio_override_queue := []
|
||||||
|
#var audio_override_queue: Array[Dictionary] = []
|
||||||
|
|
||||||
func play_sfx(stream_name = "", position := Vector2.ZERO, pitch := 1.0) -> void:
|
func play_sfx(stream_name = "", position := Vector2.ZERO, pitch := 1.0) -> void:
|
||||||
|
|
||||||
@@ -159,6 +160,8 @@ func kill_sfx(sfx_name := "") -> void:
|
|||||||
func set_music_override(stream: MUSIC_OVERRIDES, priority := 0, stop_on_finish := true, restart := true) -> void:
|
func set_music_override(stream: MUSIC_OVERRIDES, priority := 0, stop_on_finish := true, restart := true) -> void:
|
||||||
if audio_override_queue.has(stream):
|
if audio_override_queue.has(stream):
|
||||||
if current_music_override == stream and restart:
|
if current_music_override == stream and restart:
|
||||||
|
music_override_player.stream = create_stream_from_json(OVERRIDE_STREAMS[stream])
|
||||||
|
music_override_player.bus = "Music" if stream != MUSIC_OVERRIDES.FLAG_POLE else "SFX"
|
||||||
music_override_player.play()
|
music_override_player.play()
|
||||||
return
|
return
|
||||||
if music_override_priority > priority:
|
if music_override_priority > priority:
|
||||||
@@ -176,7 +179,6 @@ func set_music_override(stream: MUSIC_OVERRIDES, priority := 0, stop_on_finish :
|
|||||||
await music_override_player.finished
|
await music_override_player.finished
|
||||||
stop_music_override(stream)
|
stop_music_override(stream)
|
||||||
|
|
||||||
|
|
||||||
func stop_music_override(stream: MUSIC_OVERRIDES, force := false) -> void:
|
func stop_music_override(stream: MUSIC_OVERRIDES, force := false) -> void:
|
||||||
if not force:
|
if not force:
|
||||||
if stream == null:
|
if stream == null:
|
||||||
@@ -184,16 +186,17 @@ func stop_music_override(stream: MUSIC_OVERRIDES, force := false) -> void:
|
|||||||
elif stream != current_music_override:
|
elif stream != current_music_override:
|
||||||
audio_override_queue.erase(stream)
|
audio_override_queue.erase(stream)
|
||||||
return
|
return
|
||||||
|
else:
|
||||||
|
audio_override_queue.clear()
|
||||||
audio_override_queue.pop_back()
|
audio_override_queue.pop_back()
|
||||||
current_music_override = MUSIC_OVERRIDES.NONE
|
|
||||||
music_override_player.stop()
|
music_override_player.stop()
|
||||||
music_override_priority = -1
|
|
||||||
if audio_override_queue.is_empty():
|
if audio_override_queue.is_empty():
|
||||||
audio_override_queue.clear()
|
audio_override_queue.clear()
|
||||||
music_override_priority = -1
|
music_override_priority = -1
|
||||||
current_music_override = MUSIC_OVERRIDES.NONE
|
current_music_override = MUSIC_OVERRIDES.NONE
|
||||||
music_override_player.stop()
|
music_override_player.stop()
|
||||||
else:
|
else:
|
||||||
|
current_music_override = audio_override_queue[audio_override_queue.size() - 1]
|
||||||
set_music_override(audio_override_queue[audio_override_queue.size() - 1])
|
set_music_override(audio_override_queue[audio_override_queue.size() - 1])
|
||||||
|
|
||||||
func load_sfx_map(json := {}) -> void:
|
func load_sfx_map(json := {}) -> void:
|
||||||
@@ -246,8 +249,9 @@ func handle_music_override() -> void:
|
|||||||
music_override_player.get_stream_playback().switch_to_clip(0)
|
music_override_player.get_stream_playback().switch_to_clip(0)
|
||||||
|
|
||||||
func create_stream_from_json(json_path := "") -> AudioStream:
|
func create_stream_from_json(json_path := "") -> AudioStream:
|
||||||
|
var path := ""
|
||||||
if json_path.contains(".json") == false:
|
if json_path.contains(".json") == false:
|
||||||
var path = ResourceSetter.get_pure_resource_path(json_path)
|
path = ResourceSetter.get_pure_resource_path(json_path)
|
||||||
if path.contains(Global.config_path):
|
if path.contains(Global.config_path):
|
||||||
match json_path.get_slice(".", 1):
|
match json_path.get_slice(".", 1):
|
||||||
"wav":
|
"wav":
|
||||||
@@ -259,8 +263,7 @@ func create_stream_from_json(json_path := "") -> AudioStream:
|
|||||||
elif path.contains("res://"):
|
elif path.contains("res://"):
|
||||||
return load(path)
|
return load(path)
|
||||||
var bgm_file = $ResourceSetterNew.get_variation_json(JSON.parse_string(FileAccess.open(ResourceSetter.get_pure_resource_path(json_path), FileAccess.READ).get_as_text()).variations).source
|
var bgm_file = $ResourceSetterNew.get_variation_json(JSON.parse_string(FileAccess.open(ResourceSetter.get_pure_resource_path(json_path), FileAccess.READ).get_as_text()).variations).source
|
||||||
var path = json_path.replace(json_path.get_file(), bgm_file)
|
path = ResourceSetter.get_pure_resource_path(json_path.replace(json_path.get_file(), bgm_file))
|
||||||
path = ResourceSetter.get_pure_resource_path(path)
|
|
||||||
var stream = null
|
var stream = null
|
||||||
if path.get_file().contains(".bgm"):
|
if path.get_file().contains(".bgm"):
|
||||||
stream = generate_interactive_stream(JSON.parse_string(FileAccess.open(path, FileAccess.READ).get_as_text()))
|
stream = generate_interactive_stream(JSON.parse_string(FileAccess.open(path, FileAccess.READ).get_as_text()))
|
||||||
|
@@ -464,7 +464,7 @@ func check_completionist_achievement() -> void:
|
|||||||
if achievements.count("0") == 1:
|
if achievements.count("0") == 1:
|
||||||
unlock_achievement(AchievementID.COMPLETIONIST)
|
unlock_achievement(AchievementID.COMPLETIONIST)
|
||||||
|
|
||||||
const FONT = preload("uid://cd221873lbtj1")
|
const FONT = preload("res://Assets/Sprites/UI/Font.fnt")
|
||||||
|
|
||||||
func sanitize_string(string := "") -> String:
|
func sanitize_string(string := "") -> String:
|
||||||
string = string.to_upper()
|
string = string.to_upper()
|
||||||
|
@@ -299,5 +299,6 @@ func get_animation_name() -> String:
|
|||||||
return "Fall"
|
return "Fall"
|
||||||
|
|
||||||
func exit() -> void:
|
func exit() -> void:
|
||||||
owner.on_hammer_timeout()
|
if owner.has_hammer:
|
||||||
|
owner.on_hammer_timeout()
|
||||||
owner.skidding = false
|
owner.skidding = false
|
||||||
|
@@ -6,8 +6,8 @@ var score_font: FontFile = null
|
|||||||
var ga_font: Resource = null
|
var ga_font: Resource = null
|
||||||
var jp_font: Resource = null
|
var jp_font: Resource = null
|
||||||
|
|
||||||
var FONT_MAIN = preload("uid://bl7sbw4nx3l1t")
|
var FONT_MAIN = preload("res://Resources/ThemedResources/FontMain.tres")
|
||||||
var SCORE_FONT = preload("uid://cflgloiossd8a")
|
var SCORE_FONT = preload("res://Resources/ThemedResources/ScoreFont.tres")
|
||||||
|
|
||||||
|
|
||||||
static var current_font: Font = null
|
static var current_font: Font = null
|
||||||
|
@@ -17,4 +17,4 @@ func on_area_exited(area: Area2D) -> void:
|
|||||||
player_exited.emit(area.owner)
|
player_exited.emit(area.owner)
|
||||||
|
|
||||||
func is_player_in_area() -> bool:
|
func is_player_in_area() -> bool:
|
||||||
return get_overlapping_areas().any(func(area: Area2D) -> bool: return area.owner is Player)
|
return get_overlapping_areas().any(func(area: Area2D) -> bool: return area.owner is Player and area.name != "HammerHitbox")
|
||||||
|
@@ -4,7 +4,7 @@ extends Node
|
|||||||
const valid_chars := "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-*!.^/+:,'()?_;<> \n"
|
const valid_chars := "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-*!.^/+:,'()?_;<> \n"
|
||||||
|
|
||||||
@export var node_to_validate: Control = null
|
@export var node_to_validate: Control = null
|
||||||
const FONT = preload("uid://cd221873lbtj1")
|
const FONT = preload("res://Assets/Sprites/UI/Font.fnt")
|
||||||
signal text_validated(new_text: String)
|
signal text_validated(new_text: String)
|
||||||
|
|
||||||
func validate_text() -> void:
|
func validate_text() -> void:
|
||||||
|
Reference in New Issue
Block a user