From efd5738f709643effb86343393237c20bc4c6a77 Mon Sep 17 00:00:00 2001 From: Booklordofthedings Date: Mon, 19 Aug 2024 18:33:47 +0200 Subject: [PATCH] crash fix --- .../levels/Level_3_Rooms/level_3_room_2.tscn | 13 +++++-- .../levels/Level_3_Rooms/level_3_room_3.tscn | 39 +++++++++++++++++++ gmtk_2024/objects/BoxPushable_1.tscn | 2 +- gmtk_2024/objects/PressurePlate.tscn | 4 +- gmtk_2024/scripts/PressurePlate.gd | 2 +- gmtk_2024/scripts/player_movement.gd | 2 +- 6 files changed, 53 insertions(+), 9 deletions(-) create mode 100644 gmtk_2024/levels/Level_3_Rooms/level_3_room_3.tscn diff --git a/gmtk_2024/levels/Level_3_Rooms/level_3_room_2.tscn b/gmtk_2024/levels/Level_3_Rooms/level_3_room_2.tscn index 731bd45..a3d4950 100644 --- a/gmtk_2024/levels/Level_3_Rooms/level_3_room_2.tscn +++ b/gmtk_2024/levels/Level_3_Rooms/level_3_room_2.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=4 format=4 uid="uid://bafs3yuts8e3v"] +[gd_scene load_steps=5 format=4 uid="uid://bafs3yuts8e3v"] [ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_t601r"] [ext_resource type="PackedScene" uid="uid://biaxahxft1xo0" path="res://objects/box_pushable_2.tscn" id="2_12bbn"] [ext_resource type="PackedScene" uid="uid://cys3y6mvx2r51" path="res://objects/OneTimeBlock.tscn" id="3_rf2v0"] +[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="4_3ywhr"] [node name="LevelBase" instance=ExtResource("1_t601r")] @@ -10,10 +11,14 @@ position = Vector2(-15, -88) [node name="Layer0" parent="." index="5"] -tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAACAAEAAAD2/wEAAAACAAEAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAFAAIAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD5/wQAAAABAAAAAAD6/wQAAAAFAAIAAAD7/wQAAAABAAEAAAD8/wQAAAABAAEAAAD9/wQAAAABAAEAAAD+/wQAAAABAAEAAAD//wQAAAABAAEAAAAAAAQAAAABAAEAAAABAAQAAAADAAIAAAACAAQAAAABAAAAAAADAAQAAAABAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAABAAAAAAAHAAQAAAABAAAAAAAIAAQAAAABAAAAAAD5//7/AAABAAEAAAD6//7/AAABAAEAAAD7//7/AAABAAEAAAD8//7/AAABAAEAAAD9//7/AAABAAEAAAD+//7/AAABAAEAAAD///7/AAABAAEAAAAGAP7/AAABAAEAAAAHAP7/AAABAAEAAAAIAP7/AAABAAEAAAD5////AAABAAEAAAD6////AAABAAEAAAD7////AAABAAEAAAD8////AAABAAEAAAD9////AAABAAEAAAD+////AAABAAEAAAD/////AAABAAEAAAAAAP//AAABAAEAAAABAP//AAABAAEAAAACAP//AAABAAEAAAAGAP//AAABAAEAAAAHAP//AAABAAEAAAAIAP//AAABAAEAAAD5/wAAAAABAAEAAAD5/wEAAAABAAEAAAD5/wIAAAABAAEAAAD5/wMAAAABAAEAAAA=") +tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAACAAEAAAD2/wEAAAACAAEAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAFAAIAAAAJAP//AAAFAAAAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAFAAIAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAACAAIAAAAIAPv/AAAAAAIAAAD5/wQAAAAGAAAAAGD6/wQAAAABAAAAAAD7/wQAAAABAAAAAAD8/wQAAAACAAAAAAACAAQAAAAAAAAAAAADAAQAAAABAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAABAAAAAAAHAAQAAAABAAAAAAAIAAQAAAABAAAAAAD5//7/AAAAAAAAAAD6//7/AAABAAAAAAD7//7/AAABAAAAAAD8//7/AAABAAAAAAD9//7/AAABAAAAAAD+//7/AAABAAAAAAD///7/AAABAAAAAAAGAP7/AAAAAAAAAAAHAP7/AAABAAAAAAAIAP7/AAABAAAAAAD5////AAAHAAAAAGD6////AAABAAIAAAD7////AAABAAIAAAD8////AAABAAIAAAD9////AAABAAIAAAD+////AAABAAIAAAD/////AAABAAIAAAAAAP//AAABAAIAAAABAP//AAABAAIAAAACAP//AAACAAIAAAAGAP//AAAAAAIAAAAHAP//AAABAAIAAAAIAP//AAABAAIAAAD5/wAAAAAIAAEAAAD5/wEAAAAIAAEAAAD5/wIAAAAIAAEAAAD5/wMAAAAIAAEAAAAAAP7/AAABAAAAAAABAP7/AAABAAAAAAACAP7/AAACAAAAAAD8/wUAAAACAAEAAAD8/wYAAAABAAEAAAD9/wYAAAABAAEAAAD+/wYAAAABAAEAAAD//wYAAAABAAEAAAAAAAYAAAABAAEAAAABAAYAAAABAAEAAAACAAYAAAABAAEAAAADAAYAAAABAAEAAAACAAUAAAAAAAEAAAADAAUAAAABAAEAAAD///r/AAABAAEAAAAAAPr/AAABAAIAAAABAPr/AAABAAIAAAACAPr/AAABAAIAAAADAPr/AAABAAIAAAAEAPr/AAABAAIAAAAFAPr/AAABAAIAAAAGAPr/AAABAAIAAAAHAPr/AAABAAIAAAAIAPr/AAABAAIAAAD2/wQAAAACAAEAAAABAPn/AAABAAIAAAACAPn/AAABAAIAAAADAPn/AAABAAIAAAAEAPn/AAABAAIAAAAFAPn/AAABAAIAAAAGAPn/AAABAAIAAAAHAPn/AAABAAIAAAAIAPn/AAABAAIAAAAJAPn/AAABAAIAAAAJAPr/AAABAAIAAAA=") [node name="BoxPushable1" parent="." index="7" instance=ExtResource("2_12bbn")] -position = Vector2(64, -96) +position = Vector2(49, -96) +collision_mask = 21 [node name="AnimatableBody2D" parent="." index="8" instance=ExtResource("3_rf2v0")] -position = Vector2(-255, -96) +position = Vector2(-255, -31) + +[node name="Goal" parent="." index="9" instance=ExtResource("4_3ywhr")] +position = Vector2(-160, 95) diff --git a/gmtk_2024/levels/Level_3_Rooms/level_3_room_3.tscn b/gmtk_2024/levels/Level_3_Rooms/level_3_room_3.tscn new file mode 100644 index 0000000..5ba1e50 --- /dev/null +++ b/gmtk_2024/levels/Level_3_Rooms/level_3_room_3.tscn @@ -0,0 +1,39 @@ +[gd_scene load_steps=7 format=4 uid="uid://cf4tsn1bvj0qr"] + +[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_d4hqf"] +[ext_resource type="PackedScene" uid="uid://c6g2f7tm7iasr" path="res://objects/PressurePlate.tscn" id="2_wmdce"] +[ext_resource type="PackedScene" uid="uid://c168bkledwyya" path="res://objects/Laser.tscn" id="3_nvnxj"] +[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="4_djcls"] +[ext_resource type="PackedScene" uid="uid://biaxahxft1xo0" path="res://objects/box_pushable_2.tscn" id="5_j3ms1"] +[ext_resource type="PackedScene" uid="uid://cys3y6mvx2r51" path="res://objects/OneTimeBlock.tscn" id="6_6wljf"] + +[node name="LevelBase" instance=ExtResource("1_d4hqf")] + +[node name="Player" parent="." index="0"] +position = Vector2(-259, -107) + +[node name="Layer0" parent="." index="5"] +tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAACAAEAAAD2/wEAAAACAAEAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAFAAIAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAAAAAD4/wQAAAABAAAAAAD5/wQAAAABAAAAAAD6/wQAAAAFAAIAAAD7/wQAAAABAAEAAAD8/wQAAAABAAEAAAD9/wQAAAABAAEAAAD+/wQAAAABAAEAAAD//wQAAAABAAEAAAAAAAQAAAABAAEAAAABAAQAAAADAAIAAAACAAQAAAABAAAAAAADAAQAAAABAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAABAAAAAAAHAAQAAAABAAAAAAAIAAQAAAABAAAAAAD3/wEAAAABAAEAAAD4/wEAAAABAAEAAAD5/wEAAAABAAEAAAD6/wEAAAABAAEAAAD7/wEAAAABAAEAAAD8/wEAAAABAAEAAAA=") + +[node name="PressurePlate" parent="." index="7" instance=ExtResource("2_wmdce")] +position = Vector2(-205, 112) + +[node name="Laser" parent="." index="8" instance=ExtResource("3_nvnxj")] +position = Vector2(-239, 79) + +[node name="Goal" parent="." index="9" instance=ExtResource("4_djcls")] +position = Vector2(-274, 114) + +[node name="Laser2" parent="." index="10" instance=ExtResource("3_nvnxj")] +position = Vector2(-111, 79) + +[node name="PressurePlate2" parent="." index="11" instance=ExtResource("2_wmdce")] +position = Vector2(237, 112) +laser_path = NodePath("../Laser2") + +[node name="BoxPushable1" parent="." index="12" instance=ExtResource("5_j3ms1")] +position = Vector2(50, 94) +collision_mask = 21 + +[node name="AnimatableBody2D" parent="." index="13" instance=ExtResource("6_6wljf")] +position = Vector2(-125, -9) diff --git a/gmtk_2024/objects/BoxPushable_1.tscn b/gmtk_2024/objects/BoxPushable_1.tscn index b87d6da..ef5623c 100644 --- a/gmtk_2024/objects/BoxPushable_1.tscn +++ b/gmtk_2024/objects/BoxPushable_1.tscn @@ -8,7 +8,7 @@ size = Vector2(34, 32) [node name="BoxPushable1" type="CharacterBody2D"] collision_layer = 16 -collision_mask = 21 +collision_mask = 53 script = ExtResource("1_tf1fy") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] diff --git a/gmtk_2024/objects/PressurePlate.tscn b/gmtk_2024/objects/PressurePlate.tscn index 9ba6190..7ed0c36 100644 --- a/gmtk_2024/objects/PressurePlate.tscn +++ b/gmtk_2024/objects/PressurePlate.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=8 format=3 uid="uid://c6g2f7tm7iasr"] [ext_resource type="Script" path="res://scripts/PressurePlate.gd" id="1_7ar3x"] -[ext_resource type="Texture2D" uid="uid://cwf57p0osmc0w" path="res://textures/PressurePlate.png" id="1_st48m"] +[ext_resource type="Texture2D" uid="uid://bpfvkxqajd1en" path="res://textures/PressurePlate.png" id="1_st48m"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_c6ukx"] size = Vector2(24, 2) @@ -65,7 +65,7 @@ script = ExtResource("1_7ar3x") [node name="Area2D" type="Area2D" parent="."] collision_layer = 32 -collision_mask = 5 +collision_mask = 21 [node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] position = Vector2(0, 11) diff --git a/gmtk_2024/scripts/PressurePlate.gd b/gmtk_2024/scripts/PressurePlate.gd index c9d1e54..9f905e8 100644 --- a/gmtk_2024/scripts/PressurePlate.gd +++ b/gmtk_2024/scripts/PressurePlate.gd @@ -29,7 +29,7 @@ func activate_plate(): print("wird aktiviert") if not is_activated: is_activated = true - if laser: + if laser and weakref(laser).get_ref(): laser.queue_free() # TODO: fix error when called again diff --git a/gmtk_2024/scripts/player_movement.gd b/gmtk_2024/scripts/player_movement.gd index 0b68c27..a669bc1 100644 --- a/gmtk_2024/scripts/player_movement.gd +++ b/gmtk_2024/scripts/player_movement.gd @@ -98,7 +98,7 @@ func _physics_process(delta): var box = get_slide_collision(i).get_collider() as Box if scale.x == 2: if box and velocity.y >= 0: - box.velocity.x = velocity.x*0.8 + box.velocity.x = velocity.x*1.2 else: if box and velocity.y >= 0 and box.scale.x < 2: box.velocity.x = velocity.x*0.8