This commit is contained in:
AutumnMayes committed 2025-12-15 19:10:59 -05:00
1 parent 58e74612be
commit 07b5ce7c8d
7 files changed
+198 -34

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
[gd_scene load_steps=44 format=3 uid="uid://bu8e4iyw8pc03"]
[ext_resource type="Script" uid="uid://dsryf6gxqcm1k" path="res://Scripts/character_body_2d.gd" id="1_0y7nr"]
[ext_resource type="Script" uid="uid://dsryf6gxqcm1k" path="res://Scripts/player.gd" id="1_0y7nr"]
[ext_resource type="Texture2D" uid="uid://rltv4cun6tyw" path="res://Assets/Graphics/Player/Death/adult death.png" id="2_nn08x"]
[ext_resource type="Texture2D" uid="uid://ddqxjf5l3jdjy" path="res://Assets/Graphics/Player/Jump/Adult_jump.png" id="3_52ee3"]
[ext_resource type="Texture2D" uid="uid://c6uobr1ovln4i" path="res://Assets/Graphics/Player/Hurt/adult hurt.png" id="4_bhhdu"]
+88 -33
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=29 format=4 uid="uid://c6mxse0hqjro7"]
[gd_scene load_steps=34 format=4 uid="uid://c6mxse0hqjro7"]
[ext_resource type="Texture2D" uid="uid://ce84adqnk5ftt" path="res://Assets/Graphics/Terrains/Items/stairs.png" id="1_iivbl"]
[ext_resource type="Texture2D" uid="uid://dlfasvi2b1vmc" path="res://Assets/Graphics/Terrains/Background/librarywalls.png" id="1_o5yvi"]
@@ -18,6 +18,7 @@
[ext_resource type="PackedScene" uid="uid://cat3n1unb05u6" path="res://Scenes/slime.tscn" id="12_rfjv2"]
[ext_resource type="PackedScene" uid="uid://dr1mp5x0cmbhw" path="res://Scenes/coin.tscn" id="12_rku1e"]
[ext_resource type="PackedScene" uid="uid://k42k25w6fsbo" path="res://Scenes/ui.tscn" id="13_rfjv2"]
[ext_resource type="Script" uid="uid://cbp0lclhmd1db" path="res://Scripts/stair.gd" id="14_7nbq1"]
[ext_resource type="Texture2D" uid="uid://qt1rsjh2pyye" path="res://Assets/Graphics/Terrains/Items/circdesk.png" id="17_7nbq1"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_v158k"]
@@ -892,6 +893,18 @@ sources/3 = SubResource("TileSetAtlasSource_nnt18")
sources/5 = SubResource("TileSetAtlasSource_exi56")
sources/6 = SubResource("TileSetAtlasSource_iivbl")
[sub_resource type="RectangleShape2D" id="RectangleShape2D_iivbl"]
size = Vector2(112, 37)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7nbq1"]
size = Vector2(80, 20)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_exi56"]
size = Vector2(115.5, 32)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7t8sx"]
size = Vector2(119, 28)
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_1l0tm"]
[node name="Game" type="Node2D"]
@@ -906,7 +919,7 @@ texture = ExtResource("1_o5yvi")
[node name="TileMapLayer" type="TileMapLayer" parent="."]
texture_filter = 1
tile_map_data = PackedByteArray("AAACAAsAAgACAAEAAAADAAsAAgACAAEAAAAEAAsAAgACAAEAAAAFAAsAAgACAAEAAAAGAAsAAgACAAEAAAAHAAsAAgACAAEAAAAIAAsAAgACAAEAAAAJAAsAAgACAAEAAAAKAAsAAgACAAEAAAALAAsAAgACAAEAAAAMAAsAAgACAAEAAAANAAsAAgACAAEAAAARAAsAAgACAAEAAAASAAsAAgACAAEAAAATAAsAAgACAAEAAAAUAAsAAgACAAEAAAAVAAsAAgACAAEAAAAWAAsAAgACAAEAAAAXAAsAAgACAAEAAAAYAAsAAgACAAEAAAAZAAsAAgACAAEAAAAaAAsAAgACAAEAAAAbAAsAAgACAAEAAAAcAAsAAgACAAEAAAAdAAsAAgACAAEAAAAeAAsAAgACAAEAAAAfAAsAAgACAAEAAAAgAAsAAgACAAEAAAAhAAsAAgACAAEAAAAAAAsAAgABAAEAAAABAAsAAgACAAEAAAAAAAwAAgABAAIAAAAAAA0AAgABAAMAAAABAAwAAgACAAIAAAACAAwAAgACAAIAAAADAAwAAgACAAIAAAAEAAwAAgACAAIAAAAFAAwAAgACAAIAAAAGAAwAAgACAAIAAAAHAAwAAgACAAIAAAAIAAwAAgACAAIAAAAJAAwAAgACAAIAAAAKAAwAAgACAAIAAAALAAwAAgACAAIAAAAMAAwAAgACAAIAAAAQAAwAAgACAAIAAAANAAwAAgACAAIAAAAOAAwAAgACAAIAAAAPAAwAAgACAAIAAAARAAwAAgACAAIAAAASAAwAAgACAAIAAAATAAwAAgACAAIAAAAUAAwAAgACAAIAAAAVAAwAAgACAAIAAAAWAAwAAgACAAIAAAAXAAwAAgACAAIAAAAYAAwAAgACAAIAAAAZAAwAAgACAAIAAAAaAAwAAgACAAIAAAAbAAwAAgACAAIAAAAcAAwAAgACAAIAAAAdAAwAAgACAAIAAAAeAAwAAgACAAIAAAAfAAwAAgACAAIAAAAgAAwAAgACAAIAAAAhAAwAAgACAAIAAAABAA0AAgACAAMAAAACAA0AAgACAAMAAAADAA0AAgACAAMAAAAEAA0AAgACAAMAAAAFAA0AAgACAAMAAAAGAA0AAgACAAMAAAAHAA0AAgACAAMAAAAIAA0AAgACAAMAAAAJAA0AAgACAAMAAAAKAA0AAgACAAMAAAALAA0AAgACAAMAAAAMAA0AAgACAAMAAAANAA0AAgACAAMAAAAOAA0AAgACAAMAAAAPAA0AAgACAAMAAAAQAA0AAgACAAMAAAARAA0AAgACAAMAAAASAA0AAgACAAMAAAATAA0AAgACAAMAAAAUAA0AAgACAAMAAAAVAA0AAgACAAMAAAAWAA0AAgACAAMAAAAXAA0AAgACAAMAAAAYAA0AAgACAAMAAAAZAA0AAgACAAMAAAAaAA0AAgACAAMAAAAOAAsAAgACAAEAAAAPAAsAAgACAAEAAAAQAAsAAgACAAEAAAAiAAsAAgACAAEAAAAjAAsAAgACAAEAAAAkAAsAAgACAAEAAAAlAAsAAgACAAEAAAAmAAsAAgACAAEAAAAnAAsAAgACAAEAAAAoAAsAAgACAAEAAAApAAsAAgACAAEAAAAqAAsAAgACAAEAAAArAAsAAgACAAEAAAAsAAsAAgACAAEAAAAtAAsAAgACAAEAAAAuAAsAAgACAAEAAAAvAAsAAgACAAEAAAAwAAsAAgACAAEAAAAiAAwAAgACAAIAAAAjAAwAAgACAAIAAAAkAAwAAgACAAIAAAAlAAwAAgACAAIAAAAmAAwAAgACAAIAAAAnAAwAAgACAAIAAAAoAAwAAgACAAIAAAApAAwAAgACAAIAAAAqAAwAAgACAAIAAAArAAwAAgACAAIAAAAsAAwAAgACAAIAAAAtAAwAAgACAAIAAAAuAAwAAgACAAIAAAAvAAwAAgACAAIAAAAwAAwAAgACAAIAAAAbAA0AAgACAAMAAAAcAA0AAgACAAMAAAAdAA0AAgACAAMAAAAeAA0AAgACAAMAAAAfAA0AAgACAAMAAAAgAA0AAgACAAMAAAAhAA0AAgACAAMAAAAiAA0AAgACAAMAAAAjAA0AAgACAAMAAAAkAA0AAgACAAMAAAAlAA0AAgACAAMAAAAmAA0AAgACAAMAAAAnAA0AAgACAAMAAAAoAA0AAgACAAMAAAApAA0AAgACAAMAAAAqAA0AAgACAAMAAAArAA0AAgACAAMAAAAsAA0AAgACAAMAAAAtAA0AAgACAAMAAAAuAA0AAgACAAMAAAAvAA0AAgACAAMAAAAwAA0AAgACAAMAAAAxAAsAAgACAAEAAAAyAAsAAgACAAEAAAAzAAsAAgACAAEAAAA0AAsAAgACAAEAAAA1AAsAAgACAAEAAAA2AAsAAgACAAEAAAA3AAsAAgACAAEAAAA4AAsAAgACAAEAAAA5AAsAAgACAAEAAAA6AAsAAgACAAEAAAA7AAsAAgACAAEAAAA8AAsAAgACAAEAAAA9AAsAAgACAAEAAAA+AAsAAgACAAEAAAA/AAsAAgACAAEAAABAAAsAAgACAAEAAABBAAsAAgACAAEAAABCAAsAAgACAAEAAABDAAsAAgACAAEAAABEAAsAAgACAAEAAABFAAsAAgACAAEAAABGAAsAAgACAAEAAABHAAsAAgACAAEAAABIAAsAAgACAAEAAABJAAsAAgACAAEAAABKAAsAAgACAAEAAABLAAsAAgACAAEAAABMAAsAAgACAAEAAABNAAsAAgACAAEAAABOAAsAAgACAAEAAABPAAsAAgACAAEAAABQAAsAAgACAAEAAABRAAsAAgACAAEAAABSAAsAAgACAAEAAABTAAsAAgACAAEAAABUAAsAAgACAAEAAABVAAsAAgACAAEAAABWAAsAAgACAAEAAABXAAsAAgACAAEAAABYAAsAAgACAAEAAABZAAsAAgACAAEAAABaAAsAAgACAAEAAABbAAsAAgACAAEAAABcAAsAAgACAAEAAABdAAsAAgACAAEAAABeAAsAAgACAAEAAABfAAsAAgACAAEAAABgAAsAAgACAAEAAABhAAsAAgACAAEAAAAxAAwAAgACAAIAAAAyAAwAAgACAAIAAAAzAAwAAgACAAIAAAA0AAwAAgACAAIAAAA1AAwAAgACAAIAAAA2AAwAAgACAAIAAAA3AAwAAgACAAIAAAA4AAwAAgACAAIAAAA5AAwAAgACAAIAAAA6AAwAAgACAAIAAAA7AAwAAgACAAIAAAA8AAwAAgACAAIAAAA9AAwAAgACAAIAAAA+AAwAAgACAAIAAAA/AAwAAgACAAIAAABAAAwAAgACAAIAAABBAAwAAgACAAIAAABCAAwAAgACAAIAAABDAAwAAgACAAIAAABEAAwAAgACAAIAAABFAAwAAgACAAIAAABGAAwAAgACAAIAAABHAAwAAgACAAIAAAAxAA0AAgACAAMAAAAyAA0AAgACAAMAAAAzAA0AAgACAAMAAAA0AA0AAgACAAMAAAA1AA0AAgACAAMAAAA2AA0AAgACAAMAAAA3AA0AAgACAAMAAAA4AA0AAgACAAMAAAA5AA0AAgACAAMAAAA6AA0AAgACAAMAAAA7AA0AAgACAAMAAAA8AA0AAgACAAMAAAA9AA0AAgACAAMAAAA+AA0AAgACAAMAAAA/AA0AAgACAAMAAABAAA0AAgACAAMAAABBAA0AAgACAAMAAABCAA0AAgACAAMAAABDAA0AAgACAAMAAABEAA0AAgACAAMAAABFAA0AAgACAAMAAABGAA0AAgACAAMAAABIAAwAAgACAAIAAABJAAwAAgACAAIAAABKAAwAAgACAAIAAABLAAwAAgACAAIAAABMAAwAAgACAAIAAABNAAwAAgACAAIAAABOAAwAAgACAAIAAABPAAwAAgACAAIAAABQAAwAAgACAAIAAABRAAwAAgACAAIAAABSAAwAAgACAAIAAABTAAwAAgACAAIAAABUAAwAAgACAAIAAABVAAwAAgACAAIAAABWAAwAAgACAAIAAABXAAwAAgACAAIAAABYAAwAAgACAAIAAABZAAwAAgACAAIAAABaAAwAAgACAAIAAABbAAwAAgACAAIAAABcAAwAAgACAAIAAABdAAwAAgACAAIAAABeAAwAAgACAAIAAABfAAwAAgACAAIAAABgAAwAAgACAAIAAABhAAwAAgACAAIAAABHAA0AAgACAAMAAABIAA0AAgACAAMAAABJAA0AAgACAAMAAABMAA0AAgACAAMAAABKAA0AAgACAAMAAABLAA0AAgACAAMAAABNAA0AAgACAAMAAABOAA0AAgACAAMAAABPAA0AAgACAAMAAABQAA0AAgACAAMAAABRAA0AAgACAAMAAABSAA0AAgACAAMAAABTAA0AAgACAAMAAABUAA0AAgACAAMAAABVAA0AAgACAAMAAABWAA0AAgACAAMAAABXAA0AAgACAAMAAABYAA0AAgACAAMAAABZAA0AAgACAAMAAABaAA0AAgACAAMAAABbAA0AAgACAAMAAABcAA0AAgACAAMAAABdAA0AAgACAAMAAABeAA0AAgACAAMAAABfAA0AAgACAAMAAABgAA0AAgACAAMAAABhAA0AAgACAAMAAABiAAsAAgADAAEAAABiAAwAAgADAAIAAABiAA0AAgADAAMAAAB5ACUAAgAFAAIAAAB5ACYAAgAFAAIAAAB5ACcAAgAFAAIAAAB5ACQAAgAFAAIAAAB5ACMAAgAFAAIAAAB5ACIAAgAFAAIAAAB5ACEAAgAFAAIAAAB5ACAAAgAFAAIAAAB5AB8AAgAFAAIAAAB5AB4AAgAFAAIAAAB5AB0AAgAFAAIAAAB5ABwAAgAFAAIAAAB5ABsAAgAFAAIAAAB5ABLine truncated
tile_map_data = PackedByteArray("AAACAAsAAgACAAEAAAADAAsAAgACAAEAAAAEAAsAAgACAAEAAAAFAAsAAgACAAEAAAAGAAsAAgACAAEAAAAHAAsAAgACAAEAAAAIAAsAAgACAAEAAAAJAAsAAgACAAEAAAAKAAsAAgACAAEAAAALAAsAAgACAAEAAAAMAAsAAgACAAEAAAANAAsAAgACAAEAAAARAAsAAgACAAEAAAASAAsAAgACAAEAAAATAAsAAgACAAEAAAAUAAsAAgACAAEAAAAVAAsAAgACAAEAAAAWAAsAAgACAAEAAAAXAAsAAgACAAEAAAAYAAsAAgACAAEAAAAZAAsAAgACAAEAAAAaAAsAAgACAAEAAAAbAAsAAgACAAEAAAAcAAsAAgACAAEAAAAdAAsAAgACAAEAAAAeAAsAAgACAAEAAAAfAAsAAgACAAEAAAAgAAsAAgACAAEAAAAhAAsAAgACAAEAAAAAAAsAAgABAAEAAAABAAsAAgACAAEAAAAAAAwAAgABAAIAAAAAAA0AAgABAAMAAAABAAwAAgACAAIAAAACAAwAAgACAAIAAAADAAwAAgACAAIAAAAEAAwAAgACAAIAAAAFAAwAAgACAAIAAAAGAAwAAgACAAIAAAAHAAwAAgACAAIAAAAIAAwAAgACAAIAAAAJAAwAAgACAAIAAAAKAAwAAgACAAIAAAALAAwAAgACAAIAAAAMAAwAAgACAAIAAAAQAAwAAgACAAIAAAANAAwAAgACAAIAAAAOAAwAAgACAAIAAAAPAAwAAgACAAIAAAARAAwAAgACAAIAAAASAAwAAgACAAIAAAATAAwAAgACAAIAAAAUAAwAAgACAAIAAAAVAAwAAgACAAIAAAAWAAwAAgACAAIAAAAXAAwAAgACAAIAAAAYAAwAAgACAAIAAAAZAAwAAgACAAIAAAAaAAwAAgACAAIAAAAbAAwAAgACAAIAAAAcAAwAAgACAAIAAAAdAAwAAgACAAIAAAAeAAwAAgACAAIAAAAfAAwAAgACAAIAAAAgAAwAAgACAAIAAAAhAAwAAgACAAIAAAABAA0AAgACAAMAAAACAA0AAgACAAMAAAADAA0AAgACAAMAAAAEAA0AAgACAAMAAAAFAA0AAgACAAMAAAAGAA0AAgACAAMAAAAHAA0AAgACAAMAAAAIAA0AAgACAAMAAAAJAA0AAgACAAMAAAAKAA0AAgACAAMAAAALAA0AAgACAAMAAAAMAA0AAgACAAMAAAANAA0AAgACAAMAAAAOAA0AAgACAAMAAAAPAA0AAgACAAMAAAAQAA0AAgACAAMAAAARAA0AAgACAAMAAAASAA0AAgACAAMAAAATAA0AAgACAAMAAAAUAA0AAgACAAMAAAAVAA0AAgACAAMAAAAWAA0AAgACAAMAAAAXAA0AAgACAAMAAAAYAA0AAgACAAMAAAAZAA0AAgACAAMAAAAaAA0AAgACAAMAAAAOAAsAAgACAAEAAAAPAAsAAgACAAEAAAAQAAsAAgACAAEAAAAiAAsAAgACAAEAAAAjAAsAAgACAAEAAAAkAAsAAgACAAEAAAAlAAsAAgACAAEAAAAmAAsAAgACAAEAAAAnAAsAAgACAAEAAAAoAAsAAgACAAEAAAApAAsAAgACAAEAAAAqAAsAAgACAAEAAAArAAsAAgACAAEAAAAsAAsAAgACAAEAAAAtAAsAAgACAAEAAAAuAAsAAgACAAEAAAAvAAsAAgACAAEAAAAwAAsAAgACAAEAAAAiAAwAAgACAAIAAAAjAAwAAgACAAIAAAAkAAwAAgACAAIAAAAlAAwAAgACAAIAAAAmAAwAAgACAAIAAAAnAAwAAgACAAIAAAAoAAwAAgACAAIAAAApAAwAAgACAAIAAAAqAAwAAgACAAIAAAArAAwAAgACAAIAAAAsAAwAAgACAAIAAAAtAAwAAgACAAIAAAAuAAwAAgACAAIAAAAvAAwAAgACAAIAAAAwAAwAAgACAAIAAAAbAA0AAgACAAMAAAAcAA0AAgACAAMAAAAdAA0AAgACAAMAAAAeAA0AAgACAAMAAAAfAA0AAgACAAMAAAAgAA0AAgACAAMAAAAhAA0AAgACAAMAAAAiAA0AAgACAAMAAAAjAA0AAgACAAMAAAAkAA0AAgACAAMAAAAlAA0AAgACAAMAAAAmAA0AAgACAAMAAAAnAA0AAgACAAMAAAAoAA0AAgACAAMAAAApAA0AAgACAAMAAAAqAA0AAgACAAMAAAArAA0AAgACAAMAAAAsAA0AAgACAAMAAAAtAA0AAgACAAMAAAAuAA0AAgACAAMAAAAvAA0AAgACAAMAAAAwAA0AAgACAAMAAAAxAAsAAgACAAEAAAAyAAsAAgACAAEAAAAzAAsAAgACAAEAAAA0AAsAAgACAAEAAAA1AAsAAgACAAEAAAA2AAsAAgACAAEAAAA3AAsAAgACAAEAAAA4AAsAAgACAAEAAAA5AAsAAgACAAEAAAA6AAsAAgACAAEAAAA7AAsAAgACAAEAAAA8AAsAAgACAAEAAAA9AAsAAgACAAEAAAA+AAsAAgACAAEAAAA/AAsAAgACAAEAAABAAAsAAgACAAEAAABBAAsAAgACAAEAAABCAAsAAgACAAEAAABDAAsAAgACAAEAAABEAAsAAgACAAEAAABFAAsAAgACAAEAAABGAAsAAgACAAEAAABHAAsAAgACAAEAAABIAAsAAgACAAEAAABJAAsAAgACAAEAAABKAAsAAgACAAEAAABLAAsAAgACAAEAAABMAAsAAgACAAEAAABNAAsAAgACAAEAAABOAAsAAgACAAEAAABPAAsAAgACAAEAAABQAAsAAgACAAEAAABRAAsAAgACAAEAAABSAAsAAgACAAEAAABTAAsAAgACAAEAAABUAAsAAgACAAEAAABVAAsAAgACAAEAAABWAAsAAgACAAEAAABXAAsAAgACAAEAAABYAAsAAgACAAEAAABZAAsAAgACAAEAAABaAAsAAgACAAEAAABbAAsAAgACAAEAAABcAAsAAgACAAEAAABdAAsAAgACAAEAAABeAAsAAgACAAEAAABfAAsAAgACAAEAAABgAAsAAgACAAEAAABhAAsAAgACAAEAAAAxAAwAAgACAAIAAAAyAAwAAgACAAIAAAAzAAwAAgACAAIAAAA0AAwAAgACAAIAAAA1AAwAAgACAAIAAAA2AAwAAgACAAIAAAA3AAwAAgACAAIAAAA4AAwAAgACAAIAAAA5AAwAAgACAAIAAAA6AAwAAgACAAIAAAA7AAwAAgACAAIAAAA8AAwAAgACAAIAAAA9AAwAAgACAAIAAAA+AAwAAgACAAIAAAA/AAwAAgACAAIAAABAAAwAAgACAAIAAABBAAwAAgACAAIAAABCAAwAAgACAAIAAABDAAwAAgACAAIAAABEAAwAAgACAAIAAABFAAwAAgACAAIAAABGAAwAAgACAAIAAABHAAwAAgACAAIAAAAxAA0AAgACAAMAAAAyAA0AAgACAAMAAAAzAA0AAgACAAMAAAA0AA0AAgACAAMAAAA1AA0AAgACAAMAAAA2AA0AAgACAAMAAAA3AA0AAgACAAMAAAA4AA0AAgACAAMAAAA5AA0AAgACAAMAAAA6AA0AAgACAAMAAAA7AA0AAgACAAMAAAA8AA0AAgACAAMAAAA9AA0AAgACAAMAAAA+AA0AAgACAAMAAAA/AA0AAgACAAMAAABAAA0AAgACAAMAAABBAA0AAgACAAMAAABCAA0AAgACAAMAAABDAA0AAgACAAMAAABEAA0AAgACAAMAAABFAA0AAgACAAMAAABGAA0AAgACAAMAAABIAAwAAgACAAIAAABJAAwAAgACAAIAAABKAAwAAgACAAIAAABLAAwAAgACAAIAAABMAAwAAgACAAIAAABNAAwAAgACAAIAAABOAAwAAgACAAIAAABPAAwAAgACAAIAAABQAAwAAgACAAIAAABRAAwAAgACAAIAAABSAAwAAgACAAIAAABTAAwAAgACAAIAAABUAAwAAgACAAIAAABVAAwAAgACAAIAAABWAAwAAgACAAIAAABXAAwAAgACAAIAAABYAAwAAgACAAIAAABZAAwAAgACAAIAAABaAAwAAgACAAIAAABbAAwAAgACAAIAAABcAAwAAgACAAIAAABdAAwAAgACAAIAAABeAAwAAgACAAIAAABfAAwAAgACAAIAAABgAAwAAgACAAIAAABhAAwAAgACAAIAAABHAA0AAgACAAMAAABIAA0AAgACAAMAAABJAA0AAgACAAMAAABMAA0AAgACAAMAAABKAA0AAgACAAMAAABLAA0AAgACAAMAAABNAA0AAgACAAMAAABOAA0AAgACAAMAAABPAA0AAgACAAMAAABQAA0AAgACAAMAAABRAA0AAgACAAMAAABSAA0AAgACAAMAAABTAA0AAgACAAMAAABUAA0AAgACAAMAAABVAA0AAgACAAMAAABWAA0AAgACAAMAAABXAA0AAgACAAMAAABYAA0AAgACAAMAAABZAA0AAgACAAMAAABaAA0AAgACAAMAAABbAA0AAgACAAMAAABcAA0AAgACAAMAAABdAA0AAgACAAMAAABeAA0AAgACAAMAAABfAA0AAgACAAMAAABgAA0AAgACAAMAAABhAA0AAgACAAMAAABiAAsAAgADAAEAAABiAAwAAgADAAIAAABiAA0AAgADAAMAAAAjADUAAgACAAMAAAAiADUAAgACAAMAAAAhADUAAgACAAMAAAAgADUAAgACAAMAAAAfADUAAgACAAMAAAAeADUAAgACAAMAAAAdADUAAgACAAMAAAAcADUAAgACAAMAAAAbADUAAgACAAMAAAAaADUAAgACAAMAAAAZADUAAgACAAMAAAAYADUAAgACAAMAAAAXADUAAgACAAMAAAAWADLine truncated
tile_set = SubResource("TileSet_h4fw4")
[node name="Deco" type="Node2D" parent="."]
@@ -989,7 +1002,7 @@ scale = Vector2(0.5, 0.5)
texture = ExtResource("8_85qyi")
[node name="Deco2" type="Node2D" parent="."]
position = Vector2(33, 775)
position = Vector2(33, 792)
scale = Vector2(0.25, 0.25)
[node name="PixelArtIllustrationBookShelfPixelatedBookCaseBookShelfCasePixelatedForThePixelArtGameAndIconForWebsiteAndGameOldSchoolRetroVectorRemovebgPreview" type="Sprite2D" parent="Deco2"]
@@ -1068,7 +1081,7 @@ scale = Vector2(0.5, 0.5)
texture = ExtResource("8_85qyi")
[node name="Studytable2" type="Sprite2D" parent="Deco2"]
position = Vector2(5676, 60)
position = Vector2(7295.998, 60)
scale = Vector2(1.75, 1.75)
texture = ExtResource("9_iivbl")
@@ -1077,7 +1090,67 @@ unique_name_in_owner = true
script = ExtResource("2_i6g32")
[node name="Player" parent="." instance=ExtResource("4_3dryh")]
position = Vector2(139, 143)
position = Vector2(1743, 557)
[node name="Stair" type="Node2D" parent="."]
script = ExtResource("14_7nbq1")
[node name="Stairs" type="Sprite2D" parent="Stair"]
texture_filter = 1
position = Vector2(1698.0001, 294)
scale = Vector2(5, 5)
texture = ExtResource("1_iivbl")
[node name="Stairs2" type="Sprite2D" parent="Stair"]
texture_filter = 1
position = Vector2(1838, 504)
scale = Vector2(5, 5)
texture = ExtResource("1_iivbl")
[node name="Stairs3" type="Sprite2D" parent="Stair"]
texture_filter = 1
position = Vector2(1511, 724.00006)
scale = Vector2(5, 5)
texture = ExtResource("1_iivbl")
flip_h = true
[node name="SlopeBody" type="StaticBody2D" parent="Stair"]
collision_layer = 4
collision_mask = 0
[node name="SlopeShape1" type="CollisionPolygon2D" parent="Stair/SlopeBody"]
polygon = PackedVector2Array(1663, 176, 1582, 176, 1853, 608, 1943, 608)
[node name="SlopeShape2" type="CollisionPolygon2D" parent="Stair/SlopeBody"]
position = Vector2(-316, 11)
polygon = PackedVector2Array(1863, 597, 1942, 597, 1802, 821, 1722, 821)
[node name="MountTrigger" type="Area2D" parent="Stair"]
[node name="TriggerShape1" type="CollisionShape2D" parent="Stair/MountTrigger"]
position = Vector2(1936, 598)
shape = SubResource("RectangleShape2D_iivbl")
[node name="TriggerShape2" type="CollisionShape2D" parent="Stair/MountTrigger"]
position = Vector2(1425, 827)
shape = SubResource("RectangleShape2D_7nbq1")
[node name="TopExit" type="Area2D" parent="Stair"]
[node name="TriggerShape3" type="CollisionShape2D" parent="Stair/TopExit"]
position = Vector2(1926, 598)
shape = SubResource("RectangleShape2D_exi56")
debug_color = Color(0.64159375, 0.33703595, 1, 0.41960785)
[node name="TriggerShape4" type="CollisionShape2D" parent="Stair/TopExit"]
position = Vector2(1625, 600)
shape = SubResource("RectangleShape2D_7t8sx")
debug_color = Color(0.7560872, 0.18996525, 0.9999997, 0.41960785)
[node name="TriggerShape5" type="CollisionShape2D" parent="Stair/TopExit"]
position = Vector2(1436, 827)
shape = SubResource("RectangleShape2D_7t8sx")
debug_color = Color(0.7560872, 0.18996525, 0.9999997, 0.41960785)
[node name="Circdesk" type="Sprite2D" parent="."]
position = Vector2(1434, 151)
@@ -1118,7 +1191,7 @@ shape = SubResource("WorldBoundaryShape2D_1l0tm")
position = Vector2(1540, 146)
[node name="Area2D2" parent="Coins" instance=ExtResource("12_rku1e")]
position = Vector2(918, 779)
position = Vector2(1714, 820)
[node name="Area2D3" parent="Coins" instance=ExtResource("12_rku1e")]
position = Vector2(517, 156)
@@ -1126,39 +1199,21 @@ position = Vector2(517, 156)
[node name="Enemies" type="Node2D" parent="."]
[node name="Slime2" parent="Enemies" instance=ExtResource("12_rfjv2")]
position = Vector2(275, 801)
position = Vector2(886, 802)
[node name="Slime" parent="Enemies" instance=ExtResource("12_rfjv2")]
position = Vector2(339, 802)
position = Vector2(950, 803)
[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="UI" parent="CanvasLayer" instance=ExtResource("13_rfjv2")]
offset_left = -199.0
offset_top = -61.0
offset_right = -199.0
offset_bottom = -61.0
[node name="Stair" type="Node2D" parent="."]
[node name="Stairs" type="Sprite2D" parent="Stair"]
texture_filter = 1
position = Vector2(1698.0001, 294)
scale = Vector2(5, 5)
texture = ExtResource("1_iivbl")
[node name="Stairs2" type="Sprite2D" parent="Stair"]
texture_filter = 1
position = Vector2(1838, 504)
scale = Vector2(5, 5)
texture = ExtResource("1_iivbl")
[node name="Stairs3" type="Sprite2D" parent="Stair"]
texture_filter = 1
position = Vector2(1828, 713)
scale = Vector2(5, 5)
texture = ExtResource("1_iivbl")
flip_h = true
offset_left = -364.0
offset_top = 2.0
offset_right = -364.0
offset_bottom = 2.0
[connection signal="body_entered" from="Stair/MountTrigger" to="Stair" method="_on_mount_trigger_body_entered"]
[connection signal="body_exited" from="Stair/MountTrigger" to="Stair" method="_on_mount_trigger_body_exited"]
[connection signal="body_entered" from="Stair/TopExit" to="Stair" method="_on_top_exit_body_entered"]
[connection signal="areatrigger" from="Triggers/Area2D2" to="." method="_on_areatrigger"]
[connection signal="areatrigger" from="Triggers/Area2D3" to="." method="_on_areatrigger"]
@@ -22,12 +22,35 @@ var pushEnabled = false
var direction
var upJump = false
var gravity := ProjectSettings.get_setting("physics/2d/default_gravity") as float
var can_mount_stairs := false
var is_on_stairs := false
var stairs_z_above := 0 # filled by stairs trigger
var stairs_z_below := -1 # filled by stairs trigger
var stairs_node: Node = null
signal deathAnimationCompleteSignal
func _physics_process(delta: float) -> void:
#game loop
handle_input()
#calculate the movement
# --- STAIRS OPT-IN LOGIC ---
if can_mount_stairs and not is_on_stairs:
print("Player: inside stairs trigger, waiting for up/down")
if Input.is_action_just_pressed("ui_up"):
print("Player: ui_up pressed")
if Input.is_action_just_pressed("ui_down"):
print("Player: ui_down pressed")
if Input.is_action_just_pressed("ui_up") or Input.is_action_just_pressed("ui_down"):
print("Player: START stairs mode requested")
_start_stairs_mode()
# ---------------------------
handle_movement(delta)
#change states
update_states()
@@ -35,6 +58,9 @@ func _physics_process(delta: float) -> void:
update_animation()
#collision with objects, raycasts
# Gravity
if not is_on_floor():
velocity.y += gravity * delta
move_and_slide()
handle_collisions()
@@ -136,6 +162,58 @@ func handle_collisions():
pushEnabled = false
const STAIRS_LAYER := 3 # correct layer number for "stairs"
func _ready() -> void:
_set_stair_collision(false)
# Allow climbing up steeper slopes (default is ~45°)
floor_max_angle = deg_to_rad(60) # you can increase or decrease as needed
func _set_stair_collision(enabled: bool) -> void:
print("[Player] set stair collision to:", enabled)
set_collision_mask_value(STAIRS_LAYER, enabled)
func _start_stairs_mode() -> void:
print("[Player] _start_stairs_mode")
is_on_stairs = true
_set_stair_collision(true)
# When "on" the stairs, draw above (or tune based on your art)
if stairs_node and stairs_node.has_method("get_above_z_index"):
z_index = stairs_node.get_above_z_index()
else:
z_index = 5 # fallback
func _end_stairs_mode() -> void:
print("[Player] _end_stairs_mode")
is_on_stairs = false
_set_stair_collision(false)
# When not on stairs, draw behind (to appear "behind" stair art if overlapping)
if stairs_node and stairs_node.has_method("get_below_z_index"):
z_index = stairs_node.get_below_z_index()
else:
z_index = 0 # fallback
stairs_node = null
# Called by the stairs trigger via signals:
func on_stairs_trigger_enter(stairs: Node, above_z: int, below_z: int) -> void:
print("[Player] on_stairs_trigger_enter from:", stairs.name)
can_mount_stairs = true
stairs_node = stairs
stairs_z_above = above_z
stairs_z_below = below_z
# By default when *not* mounted, draw behind:
z_index = below_z
func on_stairs_trigger_exit(stairs: Node) -> void:
print("[Player] on_stairs_trigger_exit from:", stairs.name)
if stairs_node == stairs:
can_mount_stairs = false
func on_stairs_top_reached(stairs: Node) -> void:
print("[Player] on_stairs_top_reached from:", stairs.name)
if stairs_node == stairs and is_on_stairs:
_end_stairs_mode()
func _on_animation_finished() -> void:
match current_state:
State.JUMP:
File renamed without changes.
+25
View File
@@ -0,0 +1,25 @@
extends Node2D
@export var z_index_above := 6 # player draws above stairs while climbing
@export var z_index_below := 2 # player draws behind stairs when not climbing
func get_above_z_index(): return z_index_above
func get_below_z_index(): return z_index_below
func _ready():
z_index = 3
func _on_mount_trigger_body_exited(body):
print("[MountTrigger] body_exited:", body.name)
if body.has_method("on_stairs_trigger_exit"):
body.on_stairs_trigger_exit(self)
func _on_mount_trigger_body_entered(body):
print("[MountTrigger] body_entered:", body.name)
if body.has_method("on_stairs_trigger_enter"):
body.on_stairs_trigger_enter(self, z_index_above, z_index_below)
func _on_top_exit_body_entered(body: Node2D) -> void:
print("[Stairs] TopExit entered by:", body.name)
if body.has_method("on_stairs_top_reached"):
body.on_stairs_top_reached(self)
+1
View File
@@ -0,0 +1 @@
uid://cbp0lclhmd1db
+5
View File
@@ -47,3 +47,8 @@ shoot={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":89,"key_label":0,"unicode":121,"location":0,"echo":false,"script":null)
]
}
[layer_names]
2d_physics/layer_1="player"
2d_physics/layer_3="stairs"