This commit is contained in:
2025-10-29 04:02:47 +01:00
parent 84f75cb2a7
commit 99c606ca5b
33 changed files with 1004 additions and 76 deletions

View File

@@ -1,6 +1,9 @@
[gd_scene load_steps=5 format=3 uid="uid://cjbbslcx6vjjy"]
[gd_scene load_steps=9 format=3 uid="uid://cjbbslcx6vjjy"]
[ext_resource type="Script" uid="uid://b08q3lqbuoolb" path="res://scripts/autoloads/nodes/event_manager.gd" id="1_xplee"]
[ext_resource type="PackedScene" uid="uid://c5wjwnlubyich" path="res://scenes/menus/util/dialog.tscn" id="2_swnhv"]
[ext_resource type="SpriteFrames" uid="uid://bl36fbm1g0x3" path="res://resources/explosion_animation.tres" id="3_gml0k"]
[ext_resource type="AudioStream" uid="uid://d8qefwc57uvj" path="res://assets/audio/sounds/explosion.wav" id="4_ib5t8"]
[sub_resource type="Animation" id="Animation_swnhv"]
length = 0.001
@@ -39,6 +42,20 @@ _data = {
&"transition": SubResource("Animation_xplee")
}
[sub_resource type="GDScript" id="GDScript_gml0k"]
script/source = "extends Control
func _ready() -> void:
hide()
func explode():
show()
$AnimatedSprite2D.play(\"default\")
$AudioStreamPlayer.play()
await $AnimatedSprite2D.animation_finished
hide()
"
[node name="EventManager" type="CanvasLayer"]
script = ExtResource("1_xplee")
@@ -56,3 +73,23 @@ color = Color(0, 0, 0, 1)
libraries = {
&"": SubResource("AnimationLibrary_gml0k")
}
[node name="Dialogue" parent="." instance=ExtResource("2_swnhv")]
visible = false
[node name="Explosion" type="Control" parent="."]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = SubResource("GDScript_gml0k")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Explosion"]
position = Vector2(183.00002, 80.99999)
scale = Vector2(0.54950494, 0.5088008)
sprite_frames = ExtResource("3_gml0k")
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="Explosion"]
stream = ExtResource("4_ib5t8")

View File

@@ -67,10 +67,8 @@ rotation = 1.5707964
shape = SubResource("CapsuleShape2D_04wrl")
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."]
target_desired_distance = 20.0
avoidance_enabled = true
radius = 16.0
neighbor_distance = 48.0
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
@@ -80,7 +78,7 @@ collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" groups=["Enemy"]]
shape = SubResource("CircleShape2D_04wrl")
debug_color = Color(0.4897036, 0.51211786, 0.7549306, 0.41960785)
debug_color = Color(0.49019608, 0.5137255, 0.75686276, 0)
[node name="FollowUpdateTimer" type="Timer" parent="."]

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,18 @@
[gd_scene load_steps=15 format=4 uid="uid://bdpobbbi6apq5"]
[gd_scene load_steps=20 format=4 uid="uid://bdpobbbi6apq5"]
[ext_resource type="Texture2D" uid="uid://2aopgpvv473r" path="res://assets/textures/tilemaps/level_interior_tileset.png" id="1_satx0"]
[ext_resource type="PackedScene" uid="uid://dfbomt0l6b1o4" path="res://scenes/player.tscn" id="2_0t8x2"]
[ext_resource type="PackedScene" uid="uid://sr8t2lu6apr4" path="res://scenes/enemies/skull.tscn" id="3_u5kpk"]
[ext_resource type="AudioStream" uid="uid://c7558jjqywld1" path="res://assets/audio/music/boss_theme.ogg" id="4_ij6uy"]
[ext_resource type="Texture2D" uid="uid://dsapnb753puib" path="res://assets/textures/spritesheets/dark_house_assets.png" id="5_piajy"]
[sub_resource type="GDScript" id="GDScript_piajy"]
script/source = "extends Node2D
func _on_child_exiting_tree(_node: Node) -> void:
if get_tree().get_node_count_in_group(\"Enemy\") == 0:
get_tree().call_deferred(\"change_scene_to_file\", \"res://scenes/menus/win.tscn\")
"
[sub_resource type="NavigationPolygon" id="NavigationPolygon_0t8x2"]
vertices = PackedVector2Array(16, 16, 2, 16, 2, 10, 16, 10)
@@ -131,8 +141,53 @@ terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1)
navigation_layer_0/layers = 1
sources/1 = SubResource("TileSetAtlasSource_u5kpk")
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_v45sh"]
texture = ExtResource("5_piajy")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
1:0/0 = 0
2:0/0 = 0
3:0/0 = 0
4:0/0 = 0
0:1/0 = 0
0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
1:1/0 = 0
1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
2:1/0 = 0
2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
3:1/0 = 0
4:1/0 = 0
6:1/0 = 0
7:1/0 = 0
0:2/0 = 0
1:2/0 = 0
2:2/0 = 0
3:2/0 = 0
4:2/0 = 0
5:2/0 = 0
6:2/0 = 0
7:2/0 = 0
0:3/0 = 0
0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
1:3/0 = 0
1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
2:3/0 = 0
2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
3:3/0 = 0
3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
4:3/0 = 0
5:3/0 = 0
6:3/0 = 0
7:3/0 = 0
[sub_resource type="TileSet" id="TileSet_l6efi"]
tile_size = Vector2i(32, 32)
physics_layer_0/collision_layer = 1
sources/1 = SubResource("TileSetAtlasSource_v45sh")
[node name="Lvl1" type="Node2D"]
y_sort_enabled = true
script = SubResource("GDScript_piajy")
[node name="TileMapLayer" type="TileMapLayer" parent="."]
z_index = -1
@@ -153,3 +208,14 @@ position = Vector2(8, -106)
[node name="Skull3" parent="." instance=ExtResource("3_u5kpk")]
position = Vector2(140, -102)
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("4_ij6uy")
autoplay = true
[node name="TileMapLayer2" type="TileMapLayer" parent="."]
y_sort_enabled = true
tile_map_data = PackedByteArray("AAD7//3/AQAAAAMAAAD7//z/AQAAAAIAAAD8//3/AQABAAMAAAD8//z/AQABAAIAAAABAP3/AQACAAMAAAACAP3/AQADAAMAAAABAPz/AQACAAIAAAACAPz/AQADAAIAAAAEAP7/AQACAAEAAAAEAP3/AQACAAAAAAAEAAEAAQAAAAAAAAAEAAIAAQAAAAEAAAD7/wEAAQABAAAAAAD7/wIAAQABAAEAAAA=")
tile_set = SubResource("TileSet_l6efi")
[connection signal="child_exiting_tree" from="." to="." method="_on_child_exiting_tree"]

View File

@@ -1,8 +1,15 @@
[gd_scene load_steps=3 format=3 uid="uid://dgq21ggr3br2g"]
[gd_scene load_steps=5 format=3 uid="uid://dgq21ggr3br2g"]
[ext_resource type="Script" uid="uid://bfgqkpn60hhwj" path="res://scripts/menus/main_menu.gd" id="1_xqga4"]
[ext_resource type="Texture2D" uid="uid://dcnjviy00bral" path="res://assets/textures/ui.png" id="2_2o76q"]
[ext_resource type="PackedScene" uid="uid://cd657k2lc3gyc" path="res://scenes/menus/profile_creator.tscn" id="2_ovrgc"]
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_6bivr"]
texture = ExtResource("2_2o76q")
texture_margin_left = 30.0
texture_margin_right = 30.0
region_rect = Rect2(0, 0, 96, 15)
[node name="MainMenu" type="Control"]
layout_mode = 3
anchors_preset = 15
@@ -43,6 +50,7 @@ grow_vertical = 2
[node name="Button" type="Button" parent="TabContainer/Main/VBoxContainer"]
layout_mode = 2
theme_override_styles/normal = SubResource("StyleBoxTexture_6bivr")
text = "Start"
[node name="ProfileCreator" parent="TabContainer" instance=ExtResource("2_ovrgc")]

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=3 uid="uid://dh8wt018qxj2y"]
[gd_scene load_steps=12 format=3 uid="uid://dh8wt018qxj2y"]
[ext_resource type="Script" uid="uid://b5c8ov4lhocb8" path="res://scripts/menus/pumpkin_carve.gd" id="1_vvdcc"]
[ext_resource type="Texture2D" uid="uid://cb8q0hsocixew" path="res://assets/textures/pumpkin_inner.png" id="2_fcp78"]
@@ -17,6 +17,16 @@ events = [SubResource("InputEventAction_0qx04")]
atlas = ExtResource("4_0qx04")
region = Rect2(346, 130, 12, 11)
[sub_resource type="InputEventAction" id="InputEventAction_wfn45"]
action = &"ui_text_submit"
[sub_resource type="Shortcut" id="Shortcut_sr4y0"]
events = [SubResource("InputEventAction_wfn45")]
[sub_resource type="AtlasTexture" id="AtlasTexture_6yd03"]
atlas = ExtResource("4_0qx04")
region = Rect2(128, 272, 16, 15)
[node name="PumpkinCarve" type="Control"]
layout_mode = 3
anchors_preset = 15
@@ -80,21 +90,26 @@ grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_0qx04")
[node name="UndoButton" type="Button" parent="."]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -44.0
offset_top = -44.0
offset_right = -24.0
offset_bottom = -25.0
grow_horizontal = 0
grow_vertical = 0
[node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_mode = 0
offset_left = 15.0
offset_top = 15.0
offset_right = 63.0
offset_bottom = 38.0
[node name="UndoButton" type="Button" parent="HBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
tooltip_text = "Undo"
shortcut = SubResource("Shortcut_wfn45")
icon = SubResource("AtlasTexture_wfn45")
[connection signal="pressed" from="UndoButton" to="." method="_on_undo_button_pressed"]
[node name="Finish" type="Button" parent="HBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
tooltip_text = "Finish"
shortcut = SubResource("Shortcut_sr4y0")
icon = SubResource("AtlasTexture_6yd03")
[connection signal="pressed" from="HBoxContainer/UndoButton" to="." method="_on_undo_button_pressed"]
[connection signal="pressed" from="HBoxContainer/Finish" to="." method="_on_finish_pressed"]

View File

@@ -0,0 +1,201 @@
[gd_scene load_steps=11 format=3 uid="uid://c5wjwnlubyich"]
[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="1_ms3k6"]
[ext_resource type="Script" uid="uid://cky2m61jgkbsi" path="res://scripts/menus/util/dialog.gd" id="1_o34ae"]
[ext_resource type="Texture2D" uid="uid://dcnjviy00bral" path="res://assets/textures/ui.png" id="2_8mfvc"]
[ext_resource type="Script" uid="uid://bb52rsfwhkxbn" path="res://addons/dialogue_manager/dialogue_responses_menu.gd" id="2_o34ae"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_spyqn"]
bg_color = Color(0, 0, 0, 1)
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
border_color = Color(0.329412, 0.329412, 0.329412, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ri4m3"]
bg_color = Color(0.121569, 0.121569, 0.121569, 1)
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
border_color = Color(1, 1, 1, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_e0njw"]
bg_color = Color(0, 0, 0, 1)
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
border_color = Color(0.6, 0.6, 0.6, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qkmqt"]
bg_color = Color(0, 0, 0, 1)
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="Theme" id="Theme_8mfvc"]
default_font_size = 20
Button/styles/disabled = SubResource("StyleBoxFlat_spyqn")
Button/styles/focus = SubResource("StyleBoxFlat_ri4m3")
Button/styles/hover = SubResource("StyleBoxFlat_e0njw")
Button/styles/normal = SubResource("StyleBoxFlat_e0njw")
MarginContainer/constants/margin_bottom = 15
MarginContainer/constants/margin_left = 30
MarginContainer/constants/margin_right = 30
MarginContainer/constants/margin_top = 15
PanelContainer/styles/panel = SubResource("StyleBoxFlat_qkmqt")
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_8mfvc"]
texture = ExtResource("2_8mfvc")
region_rect = Rect2(17, 17, 78, 30)
[node name="Dialogue" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_o34ae")
[node name="Balloon" type="Control" parent="."]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -2.0
grow_horizontal = 2
grow_vertical = 2
theme = SubResource("Theme_8mfvc")
[node name="MarginContainer" type="MarginContainer" parent="Balloon"]
layout_mode = 1
anchors_preset = 12
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -104.0
grow_horizontal = 2
grow_vertical = 0
[node name="PanelContainer" type="PanelContainer" parent="Balloon/MarginContainer"]
clip_children = 2
layout_mode = 2
mouse_filter = 1
theme_override_styles/panel = SubResource("StyleBoxTexture_8mfvc")
[node name="MarginContainer" type="MarginContainer" parent="Balloon/MarginContainer/PanelContainer"]
layout_mode = 2
size_flags_vertical = 8
[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/MarginContainer/PanelContainer/MarginContainer"]
layout_mode = 2
[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/MarginContainer/PanelContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
modulate = Color(1, 1, 1, 0.501961)
layout_mode = 2
mouse_filter = 1
bbcode_enabled = true
fit_content = true
scroll_active = false
[node name="DialogueLabel" parent="Balloon/MarginContainer/PanelContainer/MarginContainer/VBoxContainer" instance=ExtResource("1_ms3k6")]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
[node name="PanelContainer2" type="PanelContainer" parent="Balloon/MarginContainer"]
clip_children = 2
layout_mode = 2
mouse_filter = 1
theme_override_styles/panel = SubResource("StyleBoxTexture_8mfvc")
[node name="MarginContainer" type="MarginContainer" parent="Balloon/MarginContainer/PanelContainer2"]
layout_mode = 2
size_flags_vertical = 8
[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/MarginContainer/PanelContainer2/MarginContainer"]
layout_mode = 2
[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/MarginContainer/PanelContainer2/MarginContainer/VBoxContainer"]
modulate = Color(1, 1, 1, 0.501961)
layout_mode = 2
mouse_filter = 1
bbcode_enabled = true
fit_content = true
scroll_active = false
[node name="DialogueLabel" parent="Balloon/MarginContainer/PanelContainer2/MarginContainer/VBoxContainer" instance=ExtResource("1_ms3k6")]
layout_mode = 2
size_flags_vertical = 3
[node name="PanelContainer3" type="PanelContainer" parent="Balloon/MarginContainer"]
clip_children = 2
layout_mode = 2
mouse_filter = 1
theme_override_styles/panel = SubResource("StyleBoxTexture_8mfvc")
[node name="MarginContainer" type="MarginContainer" parent="Balloon/MarginContainer/PanelContainer3"]
layout_mode = 2
size_flags_vertical = 8
[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/MarginContainer/PanelContainer3/MarginContainer"]
layout_mode = 2
[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/MarginContainer/PanelContainer3/MarginContainer/VBoxContainer"]
modulate = Color(1, 1, 1, 0.501961)
layout_mode = 2
mouse_filter = 1
bbcode_enabled = true
fit_content = true
scroll_active = false
[node name="DialogueLabel" parent="Balloon/MarginContainer/PanelContainer3/MarginContainer/VBoxContainer" instance=ExtResource("1_ms3k6")]
layout_mode = 2
size_flags_vertical = 3
[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon" node_paths=PackedStringArray("response_template")]
unique_name_in_owner = true
visible = false
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -290.5
offset_top = -35.0
offset_right = 290.5
offset_bottom = 35.0
grow_horizontal = 2
grow_vertical = 2
size_flags_vertical = 8
theme_override_constants/separation = 2
alignment = 1
script = ExtResource("2_o34ae")
response_template = NodePath("ResponseExample")
[node name="ResponseExample" type="Button" parent="Balloon/ResponsesMenu"]
layout_mode = 2
text = "Response example"

64
scenes/menus/win.tscn Normal file
View File

@@ -0,0 +1,64 @@
[gd_scene load_steps=2 format=3 uid="uid://dgkxrqfvnffwn"]
[sub_resource type="GDScript" id="GDScript_16ftr"]
script/source = "extends Control
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
EventManager.explosion.explode()
func _on_button_pressed() -> void:
get_tree().quit()
"
[node name="Win" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = SubResource("GDScript_16ftr")
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 1)
[node name="RichTextLabel" type="RichTextLabel" parent="."]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -53.5
offset_top = -21.0
offset_right = 53.5
offset_bottom = 21.0
grow_horizontal = 2
grow_vertical = 2
bbcode_enabled = true
text = "[rainbow][center][wave]YAY YOU WON MY UNFINISHED GAME"
[node name="Button" type="Button" parent="."]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -19.0
offset_top = 40.5
offset_right = 19.0
offset_bottom = 61.5
grow_horizontal = 2
grow_vertical = 2
text = "Close"
[connection signal="pressed" from="Button" to="." method="_on_button_pressed"]

View File

@@ -1,9 +1,10 @@
[gd_scene load_steps=31 format=3 uid="uid://dfbomt0l6b1o4"]
[gd_scene load_steps=32 format=3 uid="uid://dfbomt0l6b1o4"]
[ext_resource type="Script" uid="uid://dxvslwwnnlosy" path="res://scripts/player.gd" id="1_3vyb7"]
[ext_resource type="Texture2D" uid="uid://d06cv484ev2n3" path="res://assets/textures/spritesheets/normal_player.png" id="2_qhqgy"]
[ext_resource type="PackedScene" uid="uid://c48stuhi2qml3" path="res://scenes/menus/hud.tscn" id="3_qhqgy"]
[ext_resource type="Texture2D" uid="uid://c1yunf5rn1ncd" path="res://assets/textures/spritesheets/attack.png" id="4_dqkch"]
[ext_resource type="AudioStream" uid="uid://byy52fo287btu" path="res://assets/audio/sounds/hit.wav" id="5_qlg0r"]
[sub_resource type="AtlasTexture" id="AtlasTexture_dqkch"]
atlas = ExtResource("2_qhqgy")
@@ -268,3 +269,6 @@ frame = 5
frame_progress = 1.0
offset = Vector2(0, 24)
flip_v = true
[node name="Hit" type="AudioStreamPlayer" parent="."]
stream = ExtResource("5_qlg0r")