diff --git a/.gitignore b/.gitignore index f89d046..613493f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,10 @@ # Godot 4+ specific ignores .godot/ -.vscode/ \ No newline at end of file +.vscode/settings.json +# don't keep the addons in the repo + +addons/ + +.obsidian/ + +todo.md \ No newline at end of file diff --git a/DevTextFiles/CODER_NOTES.txt b/DevTextFiles/CODER_NOTES.txt deleted file mode 100644 index 6342406..0000000 --- a/DevTextFiles/CODER_NOTES.txt +++ /dev/null @@ -1,22 +0,0 @@ - -ROADMAP: - Make the Maze a playable single player experience - Make the Maze look pretty - Make the Maze have cool thematic things - Make the level editing work - Make the multiplayer work - -Next: (Crtl+Shift+F "###" to find things that need to be worked on) - Look at Godot top down shooter tutorial to see how walls are done - Rework customization settings from Fragile bounds - Grab my file reading code. MAKE SURE I CLOSE MY FILES!! FOR SAFETY!! In TestSpace: - I need to have a way to throw errors somehow like what if someone makes there be 26 rooms - maybe a tile can have multiple things, like a transfer function and something that looks like an exit - Figure out Transfer functions - Make the Maze movement read: - Rooms - To make walls and circuits work - Circuits - Ok my file legend should also have "Observers" that the can activate circuits - Add basic art - Add some juicy sounds - diff --git a/DevTextFiles/Todo_Tigran.txt b/DevTextFiles/Todo_Tigran.txt deleted file mode 100644 index 37ef05a..0000000 --- a/DevTextFiles/Todo_Tigran.txt +++ /dev/null @@ -1 +0,0 @@ -Make the game playable diff --git a/LICENSE b/LICENSE index cf6dca5..e07a8d0 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2023 Tigran +Copyright (c) 2023 Scrimblosoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index b27ff06..1343968 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,19 @@ # The-Maze-With-GDYU A collaborative experiment between GDYU friends. - CURRENTLY: - - -Deciding a ticket system to make it easy to know how to help - - -Setting systems for contribution - - -Deciding how to iterate on gameplay - Here's a [video](https://youtu.be/xjZsrdWe2jU) to understand what this is! - +## Current Goal: Bootstrap Version. +Prototype all of our gameplay mechanics and put them together by MARCH 20TH +To look at what needs to get done, view the [Github Project Page](https://github.com/orgs/GDYUClub/projects/1/views/1) -Here's the [design doc](https://docs.google.com/document/d/1vs-uuo3EVE-bTyuviN5FSpdkm3ZyLSNCJJKOx5uJOF0/edit#heading=h.1jqugjgd3he3) to help contribute! +Here's a [video](https://youtu.be/xjZsrdWe2jU) to understand what this is! -Read [contributing.md](/docs/contributing.md) before working on the repository. +Read [contributing.md](/docs/contributing.md) before working on the repository. -DUE MAY 31 2024 23:59 +Read [contributing.md](/docs/contributing.md) before working on the repository. + +Read [contributing.md](/docs/contributing.md) before working on the repository. + +DUE MAY 31 2024 23:59 EST ![THEMAZEphoto](/docs/gh_readme_assets/THEMAZEhahahahatestingargstuffifyouseethismessagemesayingyoudidhehehe2.png) diff --git a/TEST.md b/TEST.md deleted file mode 100644 index 2e79da4..0000000 --- a/TEST.md +++ /dev/null @@ -1,5 +0,0 @@ -I don't know what this file is - -hello there - -We honor the hero Surya who saved Brampton. diff --git a/assets/Not Jam UI Condensed 16.ttf b/assets/Not Jam UI Condensed 16.ttf new file mode 100644 index 0000000..c8767d2 Binary files /dev/null and b/assets/Not Jam UI Condensed 16.ttf differ diff --git a/assets/Not Jam UI Condensed 16.ttf.import b/assets/Not Jam UI Condensed 16.ttf.import new file mode 100644 index 0000000..dd00f06 --- /dev/null +++ b/assets/Not Jam UI Condensed 16.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://ddjw625xpmwtc" +path="res://.godot/imported/Not Jam UI Condensed 16.ttf-3435f3f176c8ad289519e69fb68982d4.fontdata" + +[deps] + +source_file="res://assets/Not Jam UI Condensed 16.ttf" +dest_files=["res://.godot/imported/Not Jam UI Condensed 16.ttf-3435f3f176c8ad289519e69fb68982d4.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/assets/dialogue_boxes/balloon.gd b/assets/dialogue_boxes/balloon.gd new file mode 100644 index 0000000..875e52f --- /dev/null +++ b/assets/dialogue_boxes/balloon.gd @@ -0,0 +1,141 @@ +extends CanvasLayer + +## The action to use for advancing the dialogue +@export var next_action: StringName = &"ui_accept" + +## The action to use to skip typing the dialogue +@export var skip_action: StringName = &"ui_cancel" + +@onready var balloon: Control = %Balloon +@onready var character_label: RichTextLabel = %CharacterLabel +@onready var dialogue_label: DialogueLabel = %DialogueLabel +@onready var responses_menu: DialogueResponsesMenu = %ResponsesMenu + +## The dialogue resource +var resource: DialogueResource + +## Temporary game states +var temporary_game_states: Array = [] + +## See if we are waiting for the player +var is_waiting_for_input: bool = false + +## See if we are running a long mutation and should hide the balloon +var will_hide_balloon: bool = false + +## The current line +var dialogue_line: DialogueLine: + set(next_dialogue_line): + is_waiting_for_input = false + balloon.focus_mode = Control.FOCUS_ALL + balloon.grab_focus() + + # The dialogue has finished so close the balloon + if not next_dialogue_line: + queue_free() + return + + # If the node isn't ready yet then none of the labels will be ready yet either + if not is_node_ready(): + await ready + + dialogue_line = next_dialogue_line + + character_label.visible = not dialogue_line.character.is_empty() + character_label.text = tr(dialogue_line.character, "dialogue") + + dialogue_label.hide() + dialogue_label.dialogue_line = dialogue_line + + responses_menu.hide() + responses_menu.set_responses(dialogue_line.responses) + + # Show our balloon + balloon.show() + will_hide_balloon = false + + dialogue_label.show() + if not dialogue_line.text.is_empty(): + dialogue_label.type_out() + await dialogue_label.finished_typing + + # Wait for input + if dialogue_line.responses.size() > 0: + balloon.focus_mode = Control.FOCUS_NONE + responses_menu.show() + elif dialogue_line.time != "": + var time = dialogue_line.text.length() * 0.02 if dialogue_line.time == "auto" else dialogue_line.time.to_float() + await get_tree().create_timer(time).timeout + next(dialogue_line.next_id) + else: + is_waiting_for_input = true + balloon.focus_mode = Control.FOCUS_ALL + balloon.grab_focus() + get: + return dialogue_line + + +func _ready() -> void: + balloon.hide() + Engine.get_singleton("DialogueManager").mutated.connect(_on_mutated) + + # If the responses menu doesn't have a next action set, use this one + if responses_menu.next_action.is_empty(): + responses_menu.next_action = next_action + + +func _unhandled_input(_event: InputEvent) -> void: + # Only the balloon is allowed to handle input while it's showing + get_viewport().set_input_as_handled() + + +## Start some dialogue +func start(dialogue_resource: DialogueResource, title: String, extra_game_states: Array = []) -> void: + temporary_game_states = [self] + extra_game_states + is_waiting_for_input = false + resource = dialogue_resource + self.dialogue_line = await resource.get_next_dialogue_line(title, temporary_game_states) + + +## Go to the next line +func next(next_id: String) -> void: + self.dialogue_line = await resource.get_next_dialogue_line(next_id, temporary_game_states) + + +### Signals + + +func _on_mutated(_mutation: Dictionary) -> void: + is_waiting_for_input = false + will_hide_balloon = true + get_tree().create_timer(0.1).timeout.connect(func(): + if will_hide_balloon: + will_hide_balloon = false + balloon.hide() + ) + + +func _on_balloon_gui_input(event: InputEvent) -> void: + # See if we need to skip typing of the dialogue + if dialogue_label.is_typing: + var mouse_was_clicked: bool = event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.is_pressed() + var skip_button_was_pressed: bool = event.is_action_pressed(skip_action) + if mouse_was_clicked or skip_button_was_pressed: + get_viewport().set_input_as_handled() + dialogue_label.skip_typing() + return + + if not is_waiting_for_input: return + if dialogue_line.responses.size() > 0: return + + # When there are no response options the balloon itself is the clickable thing + get_viewport().set_input_as_handled() + + if event is InputEventMouseButton and event.is_pressed() and event.button_index == MOUSE_BUTTON_LEFT: + next(dialogue_line.next_id) + elif event.is_action_pressed(next_action) and get_viewport().gui_get_focus_owner() == balloon: + next(dialogue_line.next_id) + + +func _on_responses_menu_response_selected(response: DialogueResponse) -> void: + next(response.next_id) diff --git a/assets/dialogue_boxes/balloon.tscn b/assets/dialogue_boxes/balloon.tscn new file mode 100644 index 0000000..8f8f106 --- /dev/null +++ b/assets/dialogue_boxes/balloon.tscn @@ -0,0 +1,176 @@ +[gd_scene load_steps=11 format=3 uid="uid://13s5spsk34qu"] + +[ext_resource type="Script" path="res://assets/dialogue_boxes/balloon.gd" id="1_s2gbs"] +[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="2_hfvdi"] +[ext_resource type="Theme" uid="uid://eyq5i2mlpkwn" path="res://assets/ui_themes/new_theme.tres" id="2_ui2vm"] +[ext_resource type="Script" path="res://addons/dialogue_manager/dialogue_reponses_menu.gd" id="3_1j1j0"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_235ry"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +bg_color = Color(0.0666667, 0.0666667, 0.0666667, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.345098, 0.345098, 0.345098, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ufjut"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +bg_color = Color(0.227451, 0.227451, 0.227451, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(1, 1, 1, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fcbqo"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +bg_color = Color(0.0666667, 0.0666667, 0.0666667, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_t6i7a"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +bg_color = Color(0.0666667, 0.0666667, 0.0666667, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_uy0d5"] +bg_color = Color(0, 0, 0, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="Theme" id="Theme_qq3yp"] +default_font_size = 8 +Button/styles/disabled = SubResource("StyleBoxFlat_235ry") +Button/styles/focus = SubResource("StyleBoxFlat_ufjut") +Button/styles/hover = SubResource("StyleBoxFlat_fcbqo") +Button/styles/normal = SubResource("StyleBoxFlat_t6i7a") +MarginContainer/constants/margin_bottom = 4 +MarginContainer/constants/margin_left = 8 +MarginContainer/constants/margin_right = 8 +MarginContainer/constants/margin_top = 4 +Panel/styles/panel = SubResource("StyleBoxFlat_uy0d5") + +[node name="ExampleBalloon" type="CanvasLayer"] +layer = 100 +script = ExtResource("1_s2gbs") +next_action = &"adv_txt" +skip_action = &"cancel_txt" + +[node name="Balloon" type="Control" parent="."] +unique_name_in_owner = true +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = SubResource("Theme_qq3yp") + +[node name="Panel" type="Panel" parent="Balloon"] +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 1.0 +offset_top = -43.0 +grow_horizontal = 2 +grow_vertical = 0 +theme = ExtResource("2_ui2vm") + +[node name="Dialogue" type="MarginContainer" parent="Balloon/Panel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_ui2vm") + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/Panel/Dialogue"] +layout_mode = 2 + +[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/Panel/Dialogue/VBoxContainer"] +unique_name_in_owner = true +modulate = Color(1, 1, 1, 0.498039) +layout_mode = 2 +mouse_filter = 1 +bbcode_enabled = true +text = "Character" +fit_content = true +scroll_active = false + +[node name="DialogueLabel" parent="Balloon/Panel/Dialogue/VBoxContainer" instance=ExtResource("2_hfvdi")] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +text = "Dialogue..." + +[node name="Responses" type="MarginContainer" parent="Balloon"] +layout_mode = 1 +anchors_preset = 7 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -124.0 +offset_top = -218.0 +offset_right = 125.0 +offset_bottom = -50.0 +grow_horizontal = 2 +grow_vertical = 0 +theme = ExtResource("2_ui2vm") + +[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/Responses"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 2 +script = ExtResource("3_1j1j0") + +[node name="ResponseExample" type="Button" parent="Balloon/Responses/ResponsesMenu"] +layout_mode = 2 +text = "Response Example" + +[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"] +[connection signal="response_selected" from="Balloon/Responses/ResponsesMenu" to="." method="_on_responses_menu_response_selected"] diff --git a/assets/dialogue_boxes/balloon2.tscn b/assets/dialogue_boxes/balloon2.tscn new file mode 100644 index 0000000..18be933 --- /dev/null +++ b/assets/dialogue_boxes/balloon2.tscn @@ -0,0 +1,176 @@ +[gd_scene load_steps=11 format=3 uid="uid://blwpjecivsqli"] + +[ext_resource type="Script" path="res://assets/dialogue_boxes/balloon.gd" id="1_wmucd"] +[ext_resource type="Theme" uid="uid://eyq5i2mlpkwn" path="res://assets/ui_themes/new_theme.tres" id="2_i6ssm"] +[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="3_np1qn"] +[ext_resource type="Script" path="res://addons/dialogue_manager/dialogue_reponses_menu.gd" id="4_qcru4"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_235ry"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +bg_color = Color(0.0666667, 0.0666667, 0.0666667, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.345098, 0.345098, 0.345098, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ufjut"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +bg_color = Color(0.227451, 0.227451, 0.227451, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(1, 1, 1, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fcbqo"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +bg_color = Color(0.0666667, 0.0666667, 0.0666667, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_t6i7a"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +bg_color = Color(0.0666667, 0.0666667, 0.0666667, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_uy0d5"] +bg_color = Color(0, 0, 0, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[sub_resource type="Theme" id="Theme_qq3yp"] +default_font_size = 8 +Button/styles/disabled = SubResource("StyleBoxFlat_235ry") +Button/styles/focus = SubResource("StyleBoxFlat_ufjut") +Button/styles/hover = SubResource("StyleBoxFlat_fcbqo") +Button/styles/normal = SubResource("StyleBoxFlat_t6i7a") +MarginContainer/constants/margin_bottom = 4 +MarginContainer/constants/margin_left = 8 +MarginContainer/constants/margin_right = 8 +MarginContainer/constants/margin_top = 4 +Panel/styles/panel = SubResource("StyleBoxFlat_uy0d5") + +[node name="ExampleBalloon" type="CanvasLayer"] +layer = 100 +script = ExtResource("1_wmucd") + +[node name="Balloon" type="Control" parent="."] +unique_name_in_owner = true +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = SubResource("Theme_qq3yp") + +[node name="Panel" type="Panel" parent="Balloon"] +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 3.0 +offset_top = -62.0 +offset_right = -4.0 +offset_bottom = -4.0 +grow_horizontal = 2 +grow_vertical = 0 +theme = ExtResource("2_i6ssm") + +[node name="Dialogue" type="MarginContainer" parent="Balloon/Panel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_i6ssm") + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/Panel/Dialogue"] +layout_mode = 2 + +[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/Panel/Dialogue/VBoxContainer"] +unique_name_in_owner = true +modulate = Color(1, 1, 1, 0.498039) +layout_mode = 2 +mouse_filter = 1 +bbcode_enabled = true +text = "Character" +fit_content = true +scroll_active = false + +[node name="DialogueLabel" parent="Balloon/Panel/Dialogue/VBoxContainer" instance=ExtResource("3_np1qn")] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +text = "Dialogue..." + +[node name="Responses" type="MarginContainer" parent="Balloon"] +layout_mode = 1 +anchors_preset = 7 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -124.0 +offset_top = -218.0 +offset_right = 125.0 +offset_bottom = -50.0 +grow_horizontal = 2 +grow_vertical = 0 +theme = ExtResource("2_i6ssm") + +[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/Responses"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 2 +script = ExtResource("4_qcru4") + +[node name="ResponseExample" type="Button" parent="Balloon/Responses/ResponsesMenu"] +layout_mode = 2 +text = "Response Example" + +[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"] +[connection signal="response_selected" from="Balloon/Responses/ResponsesMenu" to="." method="_on_responses_menu_response_selected"] diff --git a/assets/equipped-icon.png b/assets/equipped-icon.png new file mode 100644 index 0000000..b9f726e Binary files /dev/null and b/assets/equipped-icon.png differ diff --git a/assets/maze_assets_very_temp/Apparatus.png.import b/assets/equipped-icon.png.import similarity index 67% rename from assets/maze_assets_very_temp/Apparatus.png.import rename to assets/equipped-icon.png.import index a67ce0c..d0aaae3 100644 --- a/assets/maze_assets_very_temp/Apparatus.png.import +++ b/assets/equipped-icon.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://d302b6tly3nlg" -path="res://.godot/imported/Apparatus.png-f9b503bb50b0124c6d6ec56d99f778e5.ctex" +uid="uid://c7retsmbiaoy4" +path="res://.godot/imported/equipped-icon.png-e310f1f9d8d71994fb85fb03a818c6b7.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/maze_assets_very_temp/Apparatus.png" -dest_files=["res://.godot/imported/Apparatus.png-f9b503bb50b0124c6d6ec56d99f778e5.ctex"] +source_file="res://assets/equipped-icon.png" +dest_files=["res://.godot/imported/equipped-icon.png-e310f1f9d8d71994fb85fb03a818c6b7.ctex"] [params] diff --git a/assets/item_cursor.png b/assets/item_cursor.png new file mode 100644 index 0000000..a78784f Binary files /dev/null and b/assets/item_cursor.png differ diff --git a/assets/maze_assets_very_temp/Grid.png.import b/assets/item_cursor.png.import similarity index 68% rename from assets/maze_assets_very_temp/Grid.png.import rename to assets/item_cursor.png.import index a314d1d..55cf1bf 100644 --- a/assets/maze_assets_very_temp/Grid.png.import +++ b/assets/item_cursor.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://do7bbh25fyxkk" -path="res://.godot/imported/Grid.png-ad2a2c41ec4c4fc757ca16ddd2ccf88c.ctex" +uid="uid://d22wn20kyg23l" +path="res://.godot/imported/item_cursor.png-41cfccd8b2c7dd6634b158e25553b35e.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/maze_assets_very_temp/Grid.png" -dest_files=["res://.godot/imported/Grid.png-ad2a2c41ec4c4fc757ca16ddd2ccf88c.ctex"] +source_file="res://assets/item_cursor.png" +dest_files=["res://.godot/imported/item_cursor.png-41cfccd8b2c7dd6634b158e25553b35e.ctex"] [params] diff --git a/assets/item_icons/boots.png b/assets/item_icons/boots.png new file mode 100644 index 0000000..cdaddbb Binary files /dev/null and b/assets/item_icons/boots.png differ diff --git a/assets/maze_assets_very_temp/Wall.png.import b/assets/item_icons/boots.png.import similarity index 68% rename from assets/maze_assets_very_temp/Wall.png.import rename to assets/item_icons/boots.png.import index 6ab979e..40a0ceb 100644 --- a/assets/maze_assets_very_temp/Wall.png.import +++ b/assets/item_icons/boots.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cn1dvcdverrmh" -path="res://.godot/imported/Wall.png-11c6891435809f4bbf36dfde0c97af57.ctex" +uid="uid://x2oes4p8o3os" +path="res://.godot/imported/boots.png-7c19fb19d30d36bfa98ea720377bdb18.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/maze_assets_very_temp/Wall.png" -dest_files=["res://.godot/imported/Wall.png-11c6891435809f4bbf36dfde0c97af57.ctex"] +source_file="res://assets/item_icons/boots.png" +dest_files=["res://.godot/imported/boots.png-7c19fb19d30d36bfa98ea720377bdb18.ctex"] [params] diff --git a/assets/item_icons/pendant.png b/assets/item_icons/pendant.png new file mode 100644 index 0000000..1b5dbec Binary files /dev/null and b/assets/item_icons/pendant.png differ diff --git a/assets/maze_assets_very_temp/PIECE.png.import b/assets/item_icons/pendant.png.import similarity index 68% rename from assets/maze_assets_very_temp/PIECE.png.import rename to assets/item_icons/pendant.png.import index 781b608..d410c74 100644 --- a/assets/maze_assets_very_temp/PIECE.png.import +++ b/assets/item_icons/pendant.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://hxb0etclpd4v" -path="res://.godot/imported/PIECE.png-0c51bb86246e0dfac67c8c365092f7f1.ctex" +uid="uid://bdr8qxety08dy" +path="res://.godot/imported/pendant.png-27d2e554d13f262262f4094d104cb1df.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/maze_assets_very_temp/PIECE.png" -dest_files=["res://.godot/imported/PIECE.png-0c51bb86246e0dfac67c8c365092f7f1.ctex"] +source_file="res://assets/item_icons/pendant.png" +dest_files=["res://.godot/imported/pendant.png-27d2e554d13f262262f4094d104cb1df.ctex"] [params] diff --git a/assets/item_icons/sword.png b/assets/item_icons/sword.png new file mode 100644 index 0000000..bc8ddb2 Binary files /dev/null and b/assets/item_icons/sword.png differ diff --git a/assets/item_icons/sword.png.import b/assets/item_icons/sword.png.import new file mode 100644 index 0000000..3e68af9 --- /dev/null +++ b/assets/item_icons/sword.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5h34yhq75smx" +path="res://.godot/imported/sword.png-9dd1ec7340b1c6849e0082268fce5ce7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/item_icons/sword.png" +dest_files=["res://.godot/imported/sword.png-9dd1ec7340b1c6849e0082268fce5ce7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/maze_assets_very_temp/Apparatus.png b/assets/maze_assets_very_temp/Apparatus.png deleted file mode 100644 index b0931bc..0000000 Binary files a/assets/maze_assets_very_temp/Apparatus.png and /dev/null differ diff --git a/assets/maze_assets_very_temp/Grid.png b/assets/maze_assets_very_temp/Grid.png deleted file mode 100644 index 31886cf..0000000 Binary files a/assets/maze_assets_very_temp/Grid.png and /dev/null differ diff --git a/assets/maze_assets_very_temp/MazeCharacter.png b/assets/maze_assets_very_temp/MazeCharacter.png deleted file mode 100644 index a73fd87..0000000 Binary files a/assets/maze_assets_very_temp/MazeCharacter.png and /dev/null differ diff --git a/assets/maze_assets_very_temp/MazeCharacter.png.import b/assets/maze_assets_very_temp/MazeCharacter.png.import deleted file mode 100644 index cad9026..0000000 --- a/assets/maze_assets_very_temp/MazeCharacter.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://df17dmyxpjmrb" -path="res://.godot/imported/MazeCharacter.png-1adff022473e8a0c9b50c7125d4e9d74.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://assets/maze_assets_very_temp/MazeCharacter.png" -dest_files=["res://.godot/imported/MazeCharacter.png-1adff022473e8a0c9b50c7125d4e9d74.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/assets/maze_assets_very_temp/OutsideCharacter.png b/assets/maze_assets_very_temp/OutsideCharacter.png deleted file mode 100644 index 368a587..0000000 Binary files a/assets/maze_assets_very_temp/OutsideCharacter.png and /dev/null differ diff --git a/assets/maze_assets_very_temp/PIECE.png b/assets/maze_assets_very_temp/PIECE.png deleted file mode 100644 index 6abbe7c..0000000 Binary files a/assets/maze_assets_very_temp/PIECE.png and /dev/null differ diff --git a/assets/maze_assets_very_temp/Wall.png b/assets/maze_assets_very_temp/Wall.png deleted file mode 100644 index d3f3ce3..0000000 Binary files a/assets/maze_assets_very_temp/Wall.png and /dev/null differ diff --git a/assets/monochrome-transparent_packed.png b/assets/monochrome-transparent_packed.png new file mode 100644 index 0000000..4a99afc Binary files /dev/null and b/assets/monochrome-transparent_packed.png differ diff --git a/assets/maze_assets_very_temp/OutsideCharacter.png.import b/assets/monochrome-transparent_packed.png.import similarity index 64% rename from assets/maze_assets_very_temp/OutsideCharacter.png.import rename to assets/monochrome-transparent_packed.png.import index 3bad444..c2c08e1 100644 --- a/assets/maze_assets_very_temp/OutsideCharacter.png.import +++ b/assets/monochrome-transparent_packed.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://d316msy0elqvi" -path="res://.godot/imported/OutsideCharacter.png-b14b58cfbf9b1e85f3e2ae1f4605a240.ctex" +uid="uid://b3w5cmqr6fbcw" +path="res://.godot/imported/monochrome-transparent_packed.png-18e62eb8a2e2f5e9aa845251a509b9bf.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/maze_assets_very_temp/OutsideCharacter.png" -dest_files=["res://.godot/imported/OutsideCharacter.png-b14b58cfbf9b1e85f3e2ae1f4605a240.ctex"] +source_file="res://assets/monochrome-transparent_packed.png" +dest_files=["res://.godot/imported/monochrome-transparent_packed.png-18e62eb8a2e2f5e9aa845251a509b9bf.ctex"] [params] diff --git a/assets/ui_themes/new_theme.tres b/assets/ui_themes/new_theme.tres new file mode 100644 index 0000000..6bc4691 --- /dev/null +++ b/assets/ui_themes/new_theme.tres @@ -0,0 +1,16 @@ +[gd_resource type="Theme" load_steps=3 format=3 uid="uid://eyq5i2mlpkwn"] + +[ext_resource type="FontFile" uid="uid://ddjw625xpmwtc" path="res://assets/Not Jam UI Condensed 16.ttf" id="1_eoag7"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_h7nxl"] +bg_color = Color(0.301961, 0.301961, 0.301961, 1) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color(1, 1, 1, 1) + +[resource] +default_font = ExtResource("1_eoag7") +default_font_size = 16 +Panel/styles/panel = SubResource("StyleBoxFlat_h7nxl") diff --git a/assets/white.png b/assets/white.png new file mode 100644 index 0000000..a449dec Binary files /dev/null and b/assets/white.png differ diff --git a/assets/white.png.import b/assets/white.png.import new file mode 100644 index 0000000..0d60315 --- /dev/null +++ b/assets/white.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5kstmna3yb6t" +path="res://.godot/imported/white.png-936ea7d0834e1e21adf362ba74ff2135.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/white.png" +dest_files=["res://.godot/imported/white.png-936ea7d0834e1e21adf362ba74ff2135.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/docs/contributing.md b/docs/contributing.md index 343ebe2..6e3ab57 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,19 +1,23 @@ # How to contribute to The Maze -- Follow a Git workflow of fork -> clone -> branch -> pr -> merge +- Follow a Git workflow of branch -> pr -> merge - If you're new to Git look [here](https://docs.github.com/en/get-started/quickstart/contributing-to-projects) -## general +- we're currently working off of the ``bootstrap`` branch +## general - Keep file and folder names in `snake_case` (godot 4 standard) ## code -- Make sure your godot code follows the [GDQuest Style Guide](https://gdquest.gitbook.io/gdquests-guidelines/godot-gdscript-guidelines) +- Make sure your godot code follows the [GDQuest Style Guide](https://gdquest.gitbook.io/gdquests-guidelines/godot-gdscript-guidelines), use the [gdscript-toolkit-linter](https://github.com/Scony/godot-gdscript-toolkit) to automatically format your code. - Use [Static Typing](https://docs.godotengine.org/en/latest/tutorials/scripting/gdscript/static_typing.html) for variables and functions. - put scenes and their scripts in the same directory - Name scenes after the root node. -- Name scripts the same name as the node they attach to + +- variable and function names should be in snake_case, scenes/nodes referenced through code should be in camelCase + +- Name scripts the same name as the node they attach to - Label custom data structures with Class names for type hint support - Connect signals and groups through code, NOT through the GUI. -- Each Scene should do one thing, each function should do one thing +- Each Scene should do one thing, each function should do one thing - Make [static classes](https://godottutorials.com/courses/introduction-to-gdscript/godot-tutorials-gdscript-20/) when able. - If a custom class/node doesn't have a position on screen or is instanced then removed, then pass it into the script as a object instead of putting in in the scene tree. -- ^ reach out to jayden if you need elaboration on this one \ No newline at end of file +- ^ reach out to jayden if you need elaboration on this one diff --git a/docs/file_exparimentation/ShowcaseExperience.txt b/docs/file_exparimentation/ShowcaseExperience.txt deleted file mode 100644 index 22aa2af..0000000 --- a/docs/file_exparimentation/ShowcaseExperience.txt +++ /dev/null @@ -1,58 +0,0 @@ - - -Legend: - General row reading format: - For storing data, they will begin with ">>" and then the code. Next rows will be "," or "]," seperated lists of elements - "%" means this is information in a line that will have the entire next line stored to a variable - Maze Bound: - R(id_number) - Room of id_number - Tile Bound: - W - Wall - C(id_number) - Circuit of id_number - S(of_what) - Sprite of of_what - Circuit Bound: - M((R(id_number)),(which_tile)) - Move to different id_number room at which_tile position - V(id_number) - Visual of id_number that plays until finished - ????###If, and, or statements? - ????Radnom function? - E - exit experience - Visual Bound: - T(what_text) - Text to be displayed - #Empty Room: - ],],],], - ],],],], - ],],],], - ],],],], - ],],],], - -%Experience Start -M(R1,[3,5]) -%Experience Name -Showcase Experience - ->>>Circuit Library ->>C1 -V1],M(R2,[3,5]) ->>C2 -V2],E - ->>>Visual Library ->>V1 -T("Remember you can") ->>V2 -T("You are in control") - - ->>>Room Library ->>R1 -],],],], -],],],], -],],W],], -],],],], -],],],], ->>R2 -],],C2],], -],],],], -W],W],W],W],S(W) -],],],], -],],],], diff --git a/docs/the-maze-vault/.gitignore b/docs/the-maze-vault/.gitignore new file mode 100644 index 0000000..1036bd2 --- /dev/null +++ b/docs/the-maze-vault/.gitignore @@ -0,0 +1 @@ +.obsidian/ \ No newline at end of file diff --git a/docs/the-maze-vault/Welcome.md b/docs/the-maze-vault/Welcome.md new file mode 100644 index 0000000..f9bca28 --- /dev/null +++ b/docs/the-maze-vault/Welcome.md @@ -0,0 +1,5 @@ +This is your new *vault*. + +Make a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)! + +When you're ready, delete this note and make the vault your own. \ No newline at end of file diff --git a/docs/the-maze-vault/design_document.md b/docs/the-maze-vault/design_document.md new file mode 100644 index 0000000..5292ea9 --- /dev/null +++ b/docs/the-maze-vault/design_document.md @@ -0,0 +1,49 @@ +# The Maze GDD + +## What is The Maze? +The maze is a non linear 2d Grid-based narrative puzzle game. +Connect disparate information and piece together not only the secrets of this maze but also a way to escape. + +## Moment to Moment Gameplay +- The game is based in screen sized rooms. Go to stairs to travel to another room, the Rooms eventually loop around on themselves. (or maybe getting back to the top requires a movement code?) +- Talk to NPCs in the rooms to learn important information +- Give/Receive Items to/from NPCs and other things in the environment, Players will have a simple inventory with one item equipable at a time. +- Solve puzzles +- Enter boot codes, your movements are recorded, certain movement patterns do things. + +## Puzzle solving tools +### Songboots +- Use your Songboots to enter unique movement based codes. Most puzzles will be solved by you figuring out the correct movement code needed +- You can move in 4 cardinal directions, each direction playing a note moving twice in the same direction will play a different note, 8 notes in total, one octave. + +#### Code effects: +- Sending you to a specific or relative room (send to room 10, or to 5 rooms past where you currently are) either immediately or make stairs that send you there +- Giving you items, or making items appear somewhere in the Maze +- Codes that can only be entered at certain rooms: like a code that lets you enter a number in binary only when used in a certain room + +### Information from NPCs +- Talk to things (people, chests, cows and bees?) and figure out what to do based on that +- Items can be received from NPCs + +#### NPC item types: +- Items that you can give to other NPCs to advance a quest-line +- Items that are temporary or only exist for a limited time (cow's milk that goes bad after a certain number of "mooooves") +- Items that are able to be placed in certain areas (finding a statue and putting a jewel inside it) + + +## Puzzle Ideas we came up with: +- The Maze floors skip over a room (goes from 22 to 24, skipping 23). You need to discover a method of navigation other then going down stairs to be able to travel there. +- Songboot codes delivered though song, with the notes the NPC sings being notes you can play with certain movements +- A logic puzzle with 3 chests, all of them making some accusation about the others lying. Decern which one is telling the truth and open that one + - maybe opening the wrong chests sends you to a random floor? +- Using Items that are findable after the relevant NPC appears, requiring you to wrap around and give it to them +- Chests that are connected? so putting an item inside one will let you retrieve it from another (could be a solution to the milk spoiling idea) +- an NPC who seems to know more then they're letting on sharing secrets about how to navigate the maze (what is their deal) + +## Lore, Story, and Context +### Questions that need to be answered: +- The Maze itself: who what where when why how +- who is the player, what is their goal +- who are the NPCs, what are their goals +- why boots, why sounds +- The golden piece, How should the game end? diff --git a/docs/the-maze-vault/valut_rules.md.md b/docs/the-maze-vault/valut_rules.md.md new file mode 100644 index 0000000..a0eace0 --- /dev/null +++ b/docs/the-maze-vault/valut_rules.md.md @@ -0,0 +1,2 @@ +# rules to keep the vault clean +- please keep all file names snake_case \ No newline at end of file diff --git a/icon.svg.import b/icon.svg.import index 8169617..591c365 100644 --- a/icon.svg.import +++ b/icon.svg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://c8jkdt8jkuv01" +uid="uid://crcn77afl4vui" path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" metadata={ "vram_texture": false diff --git a/project.godot b/project.godot index c18f767..fa76950 100644 --- a/project.godot +++ b/project.godot @@ -10,46 +10,79 @@ config_version=5 [application] -config/name="The Maze" -run/main_scene="res://src/special_scenes/game_handler.tscn" +config/name="the-maze" +run/main_scene="res://src/main/main.tscn" config/features=PackedStringArray("4.2", "GL Compatibility") config/icon="res://icon.svg" +[autoload] + +DialogueManager="*res://addons/dialogue_manager/dialogue_manager.gd" +PlayerState="res://src/autoloads/player_state.gd" +ItemDb="*res://src/items/item_db.gd" + +[dialogue_manager] + +general/balloon_path="res://assets/dialogue_boxes/balloon.tscn" + +[display] + +window/size/viewport_width=256 +window/size/viewport_height=144 +window/size/window_width_override=1280 +window/size/window_height_override=720 +window/stretch/mode="viewport" +window/stretch/scale_mode="integer" + +[editor_plugins] + +enabled=PackedStringArray("res://addons/dialogue_manager/plugin.cfg") + [input] -ui_left={ +ui_accept={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":32,"echo":false,"script":null) +, 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":90,"key_label":0,"unicode":122,"echo":false,"script":null) +] +} +ui_cancel={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194305,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +, 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":88,"key_label":0,"unicode":120,"echo":false,"script":null) +] +} +interact={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194319,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) -, 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":65,"key_label":0,"unicode":97,"echo":false,"script":null) +"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":90,"key_label":0,"unicode":122,"echo":false,"script":null) ] } -ui_right={ +adv_txt={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194321,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) -, 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":68,"key_label":0,"unicode":100,"echo":false,"script":null) +"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":90,"key_label":0,"unicode":122,"echo":false,"script":null) ] } -ui_up={ +cancel_txt={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194320,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) -, 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":87,"key_label":0,"unicode":119,"echo":false,"script":null) +"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":88,"key_label":0,"unicode":120,"echo":false,"script":null) ] } -ui_down={ +menu={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194322,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) -, 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":83,"key_label":0,"unicode":115,"echo":false,"script":null) +"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":67,"key_label":0,"unicode":99,"echo":false,"script":null) ] } +[internationalization] + +locale/translations_pot_files=PackedStringArray("res://src/dialogue/main.dialogue") + +[layer_names] + +2d_physics/layer_1="actionables" + [rendering] textures/canvas_textures/default_texture_filter=0 diff --git a/src/autoloads/player_state.gd b/src/autoloads/player_state.gd new file mode 100644 index 0000000..d6961d4 --- /dev/null +++ b/src/autoloads/player_state.gd @@ -0,0 +1,23 @@ +extends Node + +# these are functions that are meant to be called in the dialog system +# should probably re-name this script to something more descriptive + + +func _give_item(id:String): + ItemDb.give_item(id) + + #var ui = current_scene.get_node("UI") + #ui.bootIcon.visible = true + +func _has_item(item_id) -> bool: + var current_scene = _get_current_scene() + var player:Player = current_scene.get_node("Player") + return player.has_item(item_id) + + + +# this value keeps changing based on the amount of autoloads we have +func _get_current_scene(): + return get_tree().get_root().get_children()[-1] + diff --git a/src/boots/boo1690.tmp b/src/boots/boo1690.tmp new file mode 100644 index 0000000..f9fcf8b --- /dev/null +++ b/src/boots/boo1690.tmp @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://dtgyaic6xsu0h"] + +[ext_resource type="Script" path="res://src/boots/boots.gd" id="1_1p87s"] + +[node name="Boots" type="Node2D"] +script = ExtResource("1_1p87s") diff --git a/src/boots/boots.gd b/src/boots/boots.gd new file mode 100644 index 0000000..2532ddc --- /dev/null +++ b/src/boots/boots.gd @@ -0,0 +1,61 @@ +extends Node2D + + +var winning_move_code: Array[String] = ["down","down","down","down","down","right"] +var teleport_move_code: Array[String] = ["down","up","down","up"] +var recent_moves: Array[String] = ["","","","","",""] + +# Called when the node enters the scene tree for the first time. +signal teleport_entered() + +func _ready() -> void: + print("BOOTS ON!!!") + connect_to_player() + connect_to_main() + +func connect_to_player() -> void: + var player := get_parent() + player.moved.connect(player_moved) + +func connect_to_main() -> void: + var main := get_parent().get_parent() + self.teleport_entered.connect(main.on_teleport_entered) + +func player_moved(dir: Vector2) -> void: + match dir: + Vector2(0,1): + push_move("down") + $DownSound.play() + pass + Vector2(0,-1): + push_move("up") + $UpSound.play() + pass + Vector2(1,0): + push_move("right") + $RightSound.play() + pass + Vector2(-1,0): + push_move("left") + $LeftSound.play() + pass + check_move_codes() + +func check_move_codes(): + if recent_moves == winning_move_code: + code_entered() + if recent_moves.slice(1,-1) == teleport_move_code: +<<<<<<< HEAD + teleport_entered.emit() +======= + teleport_requested.emit() +>>>>>>> 19aa049 (Teleportation And Preparing for next levels) + pass + pass + +func push_move(dir_string: String) -> void: + recent_moves.pop_front() + recent_moves.append(dir_string) + +func code_entered(): + print("yayay!! You won!") diff --git a/src/boots/boots.tscn b/src/boots/boots.tscn new file mode 100644 index 0000000..b52f95a --- /dev/null +++ b/src/boots/boots.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=2 format=3 uid="uid://dtgyaic6xsu0h"] + +[ext_resource type="Script" path="res://src/boots/boots.gd" id="1_1p87s"] + +[node name="Boots" type="Node2D"] +script = ExtResource("1_1p87s") + +[node name="UpSound" type="AudioStreamPlayer2D" parent="."] +position = Vector2(0, -99) + +[node name="DownSound" type="AudioStreamPlayer2D" parent="."] +position = Vector2(0, 99) + +[node name="LeftSound" type="AudioStreamPlayer2D" parent="."] +position = Vector2(-99, 0) + +[node name="RightSound" type="AudioStreamPlayer2D" parent="."] +position = Vector2(99, 0) diff --git a/src/dialogue/main.dialogue b/src/dialogue/main.dialogue new file mode 100644 index 0000000..dfbb0f5 --- /dev/null +++ b/src/dialogue/main.dialogue @@ -0,0 +1,8 @@ +~ start + +#if PlayerState.has_boots() == false +boots? +do PlayerState._give_item("test0") +#else: + +=> END \ No newline at end of file diff --git a/src/dialogue/main.dialogue.import b/src/dialogue/main.dialogue.import new file mode 100644 index 0000000..48041f3 --- /dev/null +++ b/src/dialogue/main.dialogue.import @@ -0,0 +1,15 @@ +[remap] + +importer="dialogue_manager_compiler_11" +type="Resource" +uid="uid://dlw5a1hy61hj8" +path="res://.godot/imported/main.dialogue-149136ebb6b3f65449302c7d610ce455.tres" + +[deps] + +source_file="res://src/dialogue/main.dialogue" +dest_files=["res://.godot/imported/main.dialogue-149136ebb6b3f65449302c7d610ce455.tres"] + +[params] + +defaults=true diff --git a/src/items/item.gd b/src/items/item.gd new file mode 100644 index 0000000..15a4501 --- /dev/null +++ b/src/items/item.gd @@ -0,0 +1,14 @@ +class_name Item +extends Resource + +var icon:Texture +var id:String +var title:String +var description:String +var in_inventory = false + +func given_to_player(): + in_inventory = true + +func removed_from_player(): + in_inventory = false diff --git a/src/items/item_db.gd b/src/items/item_db.gd new file mode 100644 index 0000000..5dfd793 --- /dev/null +++ b/src/items/item_db.gd @@ -0,0 +1,41 @@ +extends Node + + +#currently auto-loaded, although I think we could get away with it being a static script, as it dosen't have any instanced values we need to maintain, + +const ITEMS = { + "test0":{ + "title": "TEST ITEM", + "icon":"sword.png", + "description":"You shouldn't have this item.", + "unique":true, + }, + "test1":{ + "title":"TEST ITEM 2", + "icon":"pendant.png", + "description":"You (also) shouldn't have this item.", + "unique":true, + } +} + +# item constructor +func give_item(id:String) -> void: + var new_item:Item = Item.new() + new_item.id = id + new_item.title = ITEMS[id]["title"] + var icon_name = ITEMS[id]["icon"] + new_item.icon = load("res://assets/item_icons/" + icon_name) + new_item.description = ITEMS[id]["description"] + + # add resource to player inventory + var current_scene = _get_current_scene() + var player:Player = current_scene.get_node("Player") + #if player.has_item(new_item) == false or new_item["unique"] == false: + player.inventory.append(new_item) + print('player now has item: ', new_item.title) + + +func _get_current_scene(): + return get_tree().get_root().get_children()[-1] + + diff --git a/src/main/main.gd b/src/main/main.gd new file mode 100644 index 0000000..ac69036 --- /dev/null +++ b/src/main/main.gd @@ -0,0 +1,61 @@ +extends Node2D + +@onready var menuLayer = $MenuLayer +@onready var player:Player = $Player +@onready var current_map:Node2D = $Map + +var current_map_id = 1 + +func _ready() -> void: + player.walked_into_stairs.connect(change_map) + +func change_map(next_map_id: int) -> void: + var next_map_path :String = "res://src/maps/map-%s.tscn" % str(next_map_id) + var nextMap:Map = load(next_map_path).instantiate() + #load new map + current_map.queue_free() + add_child(nextMap) + current_map = nextMap + + #move the player to the spawn point + var playerSpawnMarker:Marker2D = nextMap.get_node('PlayerSpawn') + player.position = playerSpawnMarker.position + +func on_teleport_entered() -> void: + var next_map_id :int = current_map_id + 2 + match current_map_id: + 77: + print("can't teleport") + return + 11: + next_map_id = 2 + 10: + next_map_id = 1 + _: + next_map_id = current_map_id + 2 + + var next_map_path :String = "res://src/maps/map-%s.tscn" % str(next_map_id) + var nextMap:Map = load(next_map_path).instantiate() + + #Check if you'd go to an empty tile + var potential_tile_position = nextMap.get_node("TileMap").local_to_map(player.position) + var potential_tile = nextMap.get_node("TileMap").get_cell_tile_data(0, potential_tile_position) + + if potential_tile != null: + print("can't teleport") +<<<<<<< HEAD + return +======= +>>>>>>> 4d938ce (Teleportation And Preparing for next levels) + + # go to new map + current_map.queue_free() + add_child(nextMap) + current_map = nextMap + current_map_id = next_map_id + +func _toggle_menu(inventory) -> void: + menuLayer.visible = true + menuLayer._load_items(inventory) + pass + diff --git a/src/main/main.tscn b/src/main/main.tscn new file mode 100644 index 0000000..9834acc --- /dev/null +++ b/src/main/main.tscn @@ -0,0 +1,84 @@ +[gd_scene load_steps=10 format=3 uid="uid://cv5xm6ru2dkxf"] + +[ext_resource type="Script" path="res://src/main/main.gd" id="1_8hq0w"] +[ext_resource type="PackedScene" uid="uid://bp6oyjqvoyffq" path="res://src/player/player.tscn" id="2_ekt33"] +[ext_resource type="PackedScene" uid="uid://deqm4to4ptnq0" path="res://src/maps/map-1.tscn" id="3_w444g"] +[ext_resource type="Texture2D" uid="uid://5kstmna3yb6t" path="res://assets/white.png" id="6_8laen"] +[ext_resource type="Texture2D" uid="uid://x2oes4p8o3os" path="res://assets/item_icons/boots.png" id="6_qs3pd"] +[ext_resource type="FontFile" uid="uid://ddjw625xpmwtc" path="res://assets/Not Jam UI Condensed 16.ttf" id="6_sa7lc"] +[ext_resource type="Texture2D" uid="uid://c7retsmbiaoy4" path="res://assets/equipped-icon.png" id="8_h4ayj"] +[ext_resource type="Theme" uid="uid://eyq5i2mlpkwn" path="res://assets/ui_themes/new_theme.tres" id="8_xwmxw"] +[ext_resource type="PackedScene" uid="uid://cx216evccp36t" path="res://src/menu/menu_layer.tscn" id="10_ynrm5"] + +[node name="Main" type="Node2D"] +script = ExtResource("1_8hq0w") +metadata/_edit_vertical_guides_ = [128.0] + +[node name="Player" parent="." instance=ExtResource("2_ekt33")] +position = Vector2(80, 48) + +[node name="Map" parent="." instance=ExtResource("3_w444g")] + +[node name="HUD" type="Control" parent="."] +z_index = 10 +layout_mode = 3 +anchors_preset = 0 +offset_right = 256.0 +offset_bottom = 16.0 + +[node name="Bar" type="TextureRect" parent="HUD"] +layout_mode = 2 +offset_left = 1.0 +offset_right = 257.0 +offset_bottom = 17.0 +texture = ExtResource("6_8laen") + +[node name="EquippedWrapper" type="TextureRect" parent="HUD"] +modulate = Color(0.301961, 0.301961, 0.301961, 1) +layout_mode = 0 +offset_left = 144.0 +offset_right = 144.0 +texture = ExtResource("8_h4ayj") + +[node name="EquippedItem" type="TextureRect" parent="HUD"] +modulate = Color(0.301961, 0.301961, 0.301961, 1) +layout_mode = 0 +offset_left = 160.0 +offset_right = 176.0 +offset_bottom = 16.0 +texture = ExtResource("6_qs3pd") + +[node name="HPLabel" type="Label" parent="HUD"] +layout_mode = 2 +offset_left = 16.0 +offset_right = 54.0 +offset_bottom = 16.0 +theme = ExtResource("8_xwmxw") +theme_override_colors/font_color = Color(0.301961, 0.301961, 0.301961, 1) +theme_override_fonts/font = ExtResource("6_sa7lc") +theme_override_font_sizes/font_size = 16 +text = "HP: 3/3" + +[node name="Gold Label" type="Label" parent="HUD"] +layout_mode = 2 +offset_left = 192.0 +offset_right = 206.0 +offset_bottom = 16.0 +theme_override_colors/font_color = Color(0.301961, 0.301961, 0.301961, 1) +theme_override_fonts/font = ExtResource("6_sa7lc") +theme_override_font_sizes/font_size = 16 +text = "0g" + +[node name="FloorLabel" type="Label" parent="HUD"] +layout_mode = 2 +offset_left = 224.0 +offset_right = 257.0 +offset_bottom = 16.0 +theme = ExtResource("8_xwmxw") +theme_override_colors/font_color = Color(0.301961, 0.301961, 0.301961, 1) +theme_override_fonts/font = ExtResource("6_sa7lc") +theme_override_font_sizes/font_size = 16 +text = "B00" + +[node name="MenuLayer" parent="." instance=ExtResource("10_ynrm5")] +visible = false diff --git a/src/main/menu_layer.gd b/src/main/menu_layer.gd new file mode 100644 index 0000000..cc91ca0 --- /dev/null +++ b/src/main/menu_layer.gd @@ -0,0 +1,104 @@ +extends CanvasLayer +class_name Menu + +@onready var itemDesc:Label = %ItemDesc +@onready var itemTitle:Label = %ItemTitle +@onready var itemGrid:GridContainer = %ItemGrid +@onready var itemCursor:TextureRect = %ItemCursor + +@onready var player:Player = get_parent().get_node("Player") +@onready var equippedIcon:TextureRect = get_parent().get_node("HUD/EquippedItem") + +var cursor_pos:= Vector2i(0,0) + +var item_icon_scene:PackedScene = preload("res://src/menu/item_ui.tscn") + +var player_inventory :Array = [] +# y = rows x = columns +var item_grid_bounds:= Vector2i(0,0) + +func equip_item(): + if itemGrid.get_child_count() == 0: + return + var current_item_index = cursor_pos.x + (cursor_pos.y * item_grid_bounds.x) + var current_item = itemGrid.get_child(current_item_index) + player.equipped_item = current_item + equippedIcon.texture = load("res://assets/item_icons/%s" % ItemDb.ITEMS[current_item.id]['icon']) + + +func get_input_vector(event: InputEvent) -> Vector2: + var dir := Vector2.ZERO + if event.is_action_pressed("ui_up"): + dir.y -= 1 + if event.is_action_pressed("ui_down"): + dir.y += 1 + if event.is_action_pressed("ui_left"): + dir.x -= 1 + if event.is_action_pressed("ui_right"): + dir.x += 1 + return dir + + +func _input(event: InputEvent) -> void: + if visible: + get_viewport().set_input_as_handled() + var _input_dir := get_input_vector(event) + if event.is_action_pressed("ui_accept"): + equip_item() + if event.is_action_pressed("menu"): + visible = false + + if _input_dir != Vector2.ZERO: + _move_cursor(_input_dir) + +func _move_cursor(input_dir) -> void: + if itemGrid.get_child_count() == 0: + return + + #cursor is 16 + 16 * pos + #offset is pos - 1 * 8 + if abs(input_dir.x) > 0: + cursor_pos.x = wrapi(cursor_pos.x + input_dir.x,0,item_grid_bounds.x) + if abs(input_dir.y) > 0: + cursor_pos.y = wrapi(cursor_pos.y + input_dir.y,0,item_grid_bounds.y) + itemCursor.position.x = ((16 + 8) * cursor_pos.x) + 16 + itemCursor.position.y = ((16 + 8) * cursor_pos.y) + 16 + + var current_item_index = cursor_pos.x + (cursor_pos.y * item_grid_bounds.x) + var current_item = itemGrid.get_child(current_item_index) + _update_labels(current_item.id) + +func _load_items(new_inventory:Array) -> void: + #clear existing inventory + for child in itemGrid.get_children(): + itemGrid.remove_child(child) + child.queue_free() + + player_inventory = new_inventory + + if player_inventory.size() == 0: + return + + + for item in player_inventory: + var new_item_icon :TextureRect= item_icon_scene.instantiate() + # we just store the id of the item in the icon, not the entire resource + new_item_icon.id = item.id + new_item_icon.texture = load("res://assets/item_icons/%s" %ItemDb.ITEMS[item.id]['icon']) + itemGrid.add_child(new_item_icon) + + # math to find row and col count based on number of children + item_grid_bounds.x = min(itemGrid.get_child_count(),itemGrid.columns) + item_grid_bounds.y = ceili(float(itemGrid.get_child_count())/float(itemGrid.columns)) + + _update_labels(itemGrid.get_child(0).id) + + +# update title and description +func _update_labels(item_id:String): + itemTitle.text = ItemDb.ITEMS[item_id]['title'] + itemDesc.text = ItemDb.ITEMS[item_id]['description'] + + + + diff --git a/src/main/ui.gd b/src/main/ui.gd new file mode 100644 index 0000000..d55645c --- /dev/null +++ b/src/main/ui.gd @@ -0,0 +1,4 @@ +class_name UI +extends Control + + diff --git a/src/maps/map-0.tscn b/src/maps/map-0.tscn new file mode 100644 index 0000000..b08352c --- /dev/null +++ b/src/maps/map-0.tscn @@ -0,0 +1,27 @@ +[gd_scene load_steps=6 format=3 uid="uid://22clf0thbdqv"] + +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_k21k7"] +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="2_7hcry"] +[ext_resource type="PackedScene" uid="uid://cojb8qcua33fo" path="res://src/scene-tiles/chest/chest.tscn" id="3_srxud"] +[ext_resource type="Resource" uid="uid://dlw5a1hy61hj8" path="res://src/dialogue/main.dialogue" id="4_q2eeb"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="5_lbiou"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_k21k7") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("2_7hcry") +format = 2 +layer_0/name = "walls" +layer_0/tile_data = PackedInt32Array(0, 1179649, 0, 1, 1245185, 0, 2, 1245185, 0, 3, 1245185, 0, 4, 1245185, 0, 5, 1245185, 0, 6, 1245185, 0, 7, 1245185, 0, 8, 1245185, 0, 9, 1245185, 0, 10, 1245185, 0, 65536, 1179649, 1, 131072, 1179649, 1, 196608, 1179649, 1, 262144, 1179649, 1, 327680, 1179649, 1, 393216, 1179649, 1, 458752, 1179649, 1, 524288, 1179649, 2, 11, 1245185, 0, 12, 1245185, 0, 13, 1245185, 0, 14, 1245185, 0, 15, 1310721, 0, 65551, 1310721, 1, 131087, 1310721, 1, 196623, 1310721, 1, 262159, 1310721, 1, 327695, 1310721, 1, 393231, 1310721, 1, 458767, 1310721, 1, 524303, 1310721, 2, 524289, 1245185, 2, 524290, 1245185, 2, 524291, 1245185, 2, 524292, 1245185, 2, 524293, 1245185, 2, 524294, 1245185, 2, 524295, 1245185, 2, 524296, 1245185, 2, 524297, 1245185, 2, 524298, 1245185, 2, 524299, 1245185, 2, 524300, 1245185, 2, 524301, 1245185, 2, 524302, 1245185, 2, 458766, 262145, 18, 458765, 262145, 18, 458764, 262145, 18, 393230, 262145, 18, 327694, 262145, 18, 262158, 262145, 18, 196622, 262145, 18, 196621, 262145, 18, 262157, 262145, 18, 327693, 262145, 18, 393229, 262145, 18, 393228, 262145, 18, 327692, 262145, 18, 262156, 262145, 18, 393227, 262145, 18, 458761, 262145, 18, 131086, 262145, 18, 65550, 262145, 18, 65549, 262145, 18, 131085, 262145, 18, 65537, 262145, 18, 131073, 262145, 18, 196609, 262145, 18, 262145, 262145, 18, 327681, 262145, 18, 393217, 262145, 18, 458753, 262145, 18, 458754, 262145, 18, 458755, 262145, 18, 393219, 262145, 18, 327683, 262145, 18, 262147, 262145, 18, 196611, 262145, 18, 131075, 262145, 18, 131074, 262145, 18, 65538, 262145, 18, 65539, 262145, 18, 196610, 262145, 18, 262146, 262145, 18, 327682, 262145, 18, 393218, 262145, 18) +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(80, 48) + +[node name="Chest" parent="." instance=ExtResource("3_srxud")] +position = Vector2(160, 96) +dialog_resource = ExtResource("4_q2eeb") + +[node name="stairs" parent="." instance=ExtResource("5_lbiou")] +position = Vector2(112, 48) diff --git a/src/maps/map-1.tscn b/src/maps/map-1.tscn new file mode 100644 index 0000000..4d744d5 --- /dev/null +++ b/src/maps/map-1.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=4 format=3 uid="uid://deqm4to4ptnq0"] + +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="1_vosps"] +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_web8r"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_8x2ye"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_web8r") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("1_vosps") +format = 2 +layer_0/name = "walls" +layer_0/tile_data = PackedInt32Array(0, 1179649, 0, 1, 1245185, 0, 2, 1245185, 0, 3, 1245185, 0, 4, 1245185, 0, 5, 1245185, 0, 6, 1245185, 0, 7, 1245185, 0, 8, 1245185, 0, 9, 1245185, 0, 10, 1245185, 0, 65536, 1179649, 1, 131072, 1179649, 1, 196608, 1179649, 1, 262144, 1179649, 1, 327680, 1179649, 1, 393216, 1179649, 1, 458752, 1179649, 1, 524288, 1179649, 2, 11, 1245185, 0, 12, 1245185, 0, 13, 1245185, 0, 14, 1245185, 0, 15, 1310721, 0, 65551, 1310721, 1, 131087, 1310721, 1, 196623, 1310721, 1, 262159, 1310721, 1, 327695, 1310721, 1, 393231, 1310721, 1, 458767, 1310721, 1, 524303, 1310721, 2, 524289, 1245185, 2, 524290, 1245185, 2, 524291, 1245185, 2, 524292, 1245185, 2, 524293, 1245185, 2, 524294, 1245185, 2, 524295, 1245185, 2, 524296, 1245185, 2, 524297, 1245185, 2, 524298, 1245185, 2, 524299, 1245185, 2, 524300, 1245185, 2, 524301, 1245185, 2, 524302, 1245185, 2, 458766, 262145, 18, 458765, 262145, 18, 458764, 262145, 18, 458763, 262145, 18, 393230, 262145, 18, 327694, 262145, 18, 262158, 262145, 18, 196622, 262145, 18, 393229, 262145, 18, 393228, 262145, 18, 393227, 262145, 18, 458762, 262145, 18, 458761, 262145, 18, 131086, 262145, 18, 131073, 262145, 18, 196609, 262145, 18, 262145, 262145, 18, 327681, 262145, 18, 393217, 262145, 18, 458753, 262145, 18, 458754, 262145, 18, 458755, 262145, 18, 393219, 262145, 18, 327683, 262145, 18, 262147, 262145, 18, 196611, 262145, 18, 131075, 262145, 18, 131074, 262145, 18, 196610, 262145, 18, 262146, 262145, 18, 327682, 262145, 18, 393218, 262145, 18, 65537, 196609, 18, 65538, 196609, 18, 65539, 196609, 18, 65549, 196609, 18, 65550, 196609, 18) +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(80, 48) + +[node name="stairs" parent="." instance=ExtResource("3_8x2ye")] +position = Vector2(160, 96) +<<<<<<< HEAD +======= +toward_room_id = 2 +>>>>>>> 19a3cf7 (Map puzzles Now in!) diff --git a/src/maps/map-10.tscn b/src/maps/map-10.tscn new file mode 100644 index 0000000..2ccc5ed --- /dev/null +++ b/src/maps/map-10.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=3 uid="uid://behqbmue4bheh"] + +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_0dl14"] +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="2_f1sjl"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_l62f8"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_0dl14") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("2_f1sjl") +format = 2 +layer_0/name = "walls" +layer_0/tile_data = PackedInt32Array(0, 1179649, 0, 1, 1245185, 0, 2, 1245185, 0, 3, 1245185, 0, 4, 1245185, 0, 5, 1245185, 0, 6, 1245185, 0, 7, 1245185, 0, 8, 1245185, 0, 9, 1245185, 0, 10, 1245185, 0, 65536, 1179649, 1, 131072, 1179649, 1, 196608, 1179649, 1, 262144, 1179649, 1, 327680, 1179649, 1, 393216, 1179649, 1, 458752, 1179649, 1, 524288, 1179649, 2, 11, 1245185, 0, 12, 1245185, 0, 13, 1245185, 0, 14, 1245185, 0, 15, 1310721, 0, 65551, 1310721, 1, 131087, 1310721, 1, 196623, 1310721, 1, 262159, 1310721, 1, 327695, 1310721, 1, 393231, 1310721, 1, 458767, 1310721, 1, 524303, 1310721, 2, 524289, 1245185, 2, 524290, 1245185, 2, 524292, 1245185, 2, 524293, 1245185, 2, 524294, 1245185, 2, 524295, 1245185, 2, 524296, 1245185, 2, 524297, 1245185, 2, 524298, 1245185, 2, 524299, 1245185, 2, 524300, 1245185, 2, 524301, 1245185, 2, 524302, 1245185, 2, 458766, 262145, 18, 458765, 262145, 18, 458764, 262145, 18, 458763, 262145, 18, 393230, 262145, 18, 327694, 262145, 18, 262158, 262145, 18, 196622, 262145, 18, 196621, 262145, 18, 262157, 262145, 18, 327693, 262145, 18, 393229, 262145, 18, 458762, 262145, 18, 458761, 262145, 18, 131086, 262145, 18, 65550, 262145, 18, 65549, 262145, 18, 131085, 262145, 18, 65537, 262145, 18, 65538, 262145, 18, 65539, 262145, 18, 65540, 262145, 18, 65541, 262145, 18, 65542, 262145, 18, 65543, 262145, 18, 65544, 262145, 18, 65545, 262145, 18, 65546, 262145, 18, 65547, 262145, 18, 65548, 262145, 18, 524291, 1245185, 2) +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(80, 64) + +[node name="stairs" parent="." instance=ExtResource("3_l62f8")] +position = Vector2(160, 96) +toward_room_id = 11 diff --git a/src/maps/map-11.tscn b/src/maps/map-11.tscn new file mode 100644 index 0000000..b3d5e87 --- /dev/null +++ b/src/maps/map-11.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=3 uid="uid://tbdug0eavdeu"] + +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_0dl14"] +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="2_f1sjl"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_l62f8"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_0dl14") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("2_f1sjl") +format = 2 +layer_0/name = "walls" +layer_0/tile_data = PackedInt32Array(0, 1179649, 0, 1, 1245185, 0, 2, 1245185, 0, 3, 1245185, 0, 4, 1245185, 0, 5, 1245185, 0, 6, 1245185, 0, 7, 1245185, 0, 8, 1245185, 0, 9, 1245185, 0, 10, 1245185, 0, 65536, 1179649, 1, 131072, 1179649, 1, 196608, 1179649, 1, 262144, 1179649, 1, 327680, 1179649, 1, 393216, 1179649, 1, 458752, 1179649, 1, 524288, 1179649, 2, 11, 1245185, 0, 12, 1245185, 0, 13, 1245185, 0, 14, 1245185, 0, 15, 1310721, 0, 65551, 1310721, 1, 131087, 1310721, 1, 196623, 1310721, 1, 262159, 1310721, 1, 327695, 1310721, 1, 393231, 1310721, 1, 458767, 1310721, 1, 524303, 1310721, 2, 524289, 1245185, 2, 524290, 1245185, 2, 524292, 1245185, 2, 524293, 1245185, 2, 524294, 1245185, 2, 524295, 1245185, 2, 524296, 1245185, 2, 524297, 1245185, 2, 524298, 1245185, 2, 524299, 1245185, 2, 524302, 1245185, 2, 524291, 1245185, 2, 524300, 1245185, 2, 524301, 1245185, 2, 393218, 262145, 18, 327682, 262145, 18, 262146, 262145, 18, 196610, 262145, 18, 131074, 262145, 18, 393221, 262145, 18, 196613, 262145, 18, 131077, 262145, 18, 393224, 262145, 18, 327688, 262145, 18, 262152, 262145, 18, 196616, 262145, 18, 131080, 262145, 18, 393227, 262145, 18, 196619, 262145, 18, 131083, 262145, 18, 262155, 196609, 18, 327691, 196609, 18) +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(80, 64) + +[node name="stairs" parent="." instance=ExtResource("3_l62f8")] +position = Vector2(192, 48) +toward_room_id = 1 diff --git a/src/maps/map-2.tscn b/src/maps/map-2.tscn new file mode 100644 index 0000000..a46ebf8 --- /dev/null +++ b/src/maps/map-2.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=3 uid="uid://bapnj7ekqfb0t"] + +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="1_2mk3g"] +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_wfc8d"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_wvxh7"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_wfc8d") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("1_2mk3g") +format = 2 +layer_0/name = "walls" +layer_0/tile_data = PackedInt32Array(0, 1179649, 0, 1, 1245185, 0, 2, 1245185, 0, 3, 1245185, 0, 4, 1245185, 0, 5, 1245185, 0, 6, 1245185, 0, 7, 1245185, 0, 8, 1245185, 0, 9, 1245185, 0, 10, 1245185, 0, 65536, 1179649, 1, 131072, 1179649, 1, 196608, 1179649, 1, 262144, 1179649, 1, 327680, 1179649, 1, 393216, 1179649, 1, 458752, 1179649, 1, 524288, 1179649, 2, 11, 1245185, 0, 12, 1245185, 0, 13, 1245185, 0, 14, 1245185, 0, 15, 1310721, 0, 65551, 1310721, 1, 131087, 1310721, 1, 196623, 1310721, 1, 262159, 1310721, 1, 327695, 1310721, 1, 393231, 1310721, 1, 458767, 1310721, 1, 524303, 1310721, 2, 524289, 1245185, 2, 524290, 1245185, 2, 524291, 1245185, 2, 524292, 1245185, 2, 524293, 1245185, 2, 524294, 1245185, 2, 524295, 1245185, 2, 524296, 1245185, 2, 524297, 1245185, 2, 524298, 1245185, 2, 524299, 1245185, 2, 524301, 1245185, 2, 524302, 1245185, 2, 458762, 262145, 18, 458761, 262145, 18, 65550, 262145, 18, 131073, 262145, 18, 65537, 262145, 18, 65538, 262145, 18, 65539, 262145, 18, 65540, 262145, 18, 65541, 262145, 18, 65542, 262145, 18, 131075, 262145, 18, 131074, 262145, 18, 262157, 262145, 18, 196621, 262145, 18, 196620, 262145, 18, 131084, 262145, 18, 131083, 262145, 18, 327688, 262145, 18, 393224, 262145, 18, 393223, 262145, 18, 327687, 262145, 18, 327686, 262145, 18, 262150, 262145, 18, 196614, 262145, 18, 196613, 262145, 18, 196612, 262145, 18, 262148, 262145, 18, 262147, 262145, 18, 393218, 262145, 18, 393219, 262145, 18, 393220, 262145, 18, 327685, 262145, 18, 393225, 262145, 18, 393226, 262145, 18, 393227, 262145, 18, 393229, 262145, 18, 65543, 262145, 18, 65544, 262145, 18, 65545, 262145, 18, 65546, 262145, 18, 327693, 262145, 18, 131080, 262145, 18, 131079, 262145, 18, 196615, 262145, 18, 262151, 262145, 18, 524300, 1245185, 2, 393228, 262145, 18) +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(144, 48) + +[node name="stairs" parent="." instance=ExtResource("3_wvxh7")] +position = Vector2(192, 80) +toward_room_id = 3 diff --git a/src/maps/map-3.tscn b/src/maps/map-3.tscn new file mode 100644 index 0000000..d68246d --- /dev/null +++ b/src/maps/map-3.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=4 format=3 uid="uid://cwxdotd7hh5tb"] + +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_kwl2f"] +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="1_xfyi1"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_vucpd"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_kwl2f") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("1_xfyi1") +format = 2 +layer_0/name = "walls" +layer_0/tile_data = PackedInt32Array(0, 1179649, 0, 1, 1245185, 0, 2, 1245185, 0, 3, 1245185, 0, 4, 1245185, 0, 5, 1245185, 0, 6, 1245185, 0, 7, 1245185, 0, 8, 1245185, 0, 9, 1245185, 0, 10, 1245185, 0, 65536, 1179649, 1, 131072, 1179649, 1, 196608, 1179649, 1, 262144, 1179649, 1, 327680, 1179649, 1, 393216, 1179649, 1, 458752, 1179649, 1, 524288, 1179649, 2, 11, 1245185, 0, 12, 1245185, 0, 13, 1245185, 0, 14, 1245185, 0, 15, 1310721, 0, 65551, 1310721, 1, 131087, 1310721, 1, 196623, 1310721, 1, 262159, 1310721, 1, 327695, 1310721, 1, 393231, 1310721, 1, 458767, 1310721, 1, 524303, 1310721, 2, 524289, 1245185, 2, 524290, 1245185, 2, 524292, 1245185, 2, 524293, 1245185, 2, 524294, 1245185, 2, 524295, 1245185, 2, 524296, 1245185, 2, 524297, 1245185, 2, 524298, 1245185, 2, 524299, 1245185, 2, 524300, 1245185, 2, 524301, 1245185, 2, 524302, 1245185, 2, 458766, 262145, 18, 458765, 262145, 18, 458764, 262145, 18, 458763, 262145, 18, 393230, 262145, 18, 327694, 262145, 18, 262158, 262145, 18, 196622, 262145, 18, 196621, 262145, 18, 262157, 262145, 18, 327693, 262145, 18, 393229, 262145, 18, 393228, 262145, 18, 327692, 262145, 18, 262156, 262145, 18, 393227, 262145, 18, 458762, 262145, 18, 458761, 262145, 18, 131086, 262145, 18, 65550, 262145, 18, 65549, 262145, 18, 131085, 262145, 18, 131073, 262145, 18, 65537, 262145, 18, 65538, 262145, 18, 65539, 262145, 18, 65540, 262145, 18, 65541, 262145, 18, 65542, 262145, 18, 65543, 262145, 18, 65544, 262145, 18, 65545, 262145, 18, 65546, 262145, 18, 65547, 262145, 18, 65548, 262145, 18, 131084, 262145, 18, 131083, 262145, 18, 131082, 262145, 18, 131081, 262145, 18, 131080, 262145, 18, 131079, 262145, 18, 131078, 262145, 18, 131077, 262145, 18, 131076, 262145, 18, 131075, 262145, 18, 131074, 262145, 18, 524291, 1245185, 2, 327690, 262145, 18, 262153, 262145, 18, 196616, 262145, 18) +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(80, 64) + +[node name="stairs" parent="." instance=ExtResource("3_vucpd")] +position = Vector2(160, 96) +toward_room_id = 4 + +[node name="stairs2" parent="." instance=ExtResource("3_vucpd")] +position = Vector2(192, 48) +toward_room_id = 77 diff --git a/src/maps/map-4.tscn b/src/maps/map-4.tscn new file mode 100644 index 0000000..9bd6d65 --- /dev/null +++ b/src/maps/map-4.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=3 uid="uid://22clf0thbdqv"] + +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_qwjcs"] +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="2_1bcx7"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_w7jut"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_qwjcs") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("2_1bcx7") +format = 2 +layer_0/name = "walls" +layer_0/tile_data = PackedInt32Array(0, 1179649, 0, 1, 1245185, 0, 2, 1245185, 0, 3, 1245185, 0, 4, 1245185, 0, 5, 1245185, 0, 6, 1245185, 0, 7, 1245185, 0, 8, 1245185, 0, 9, 1245185, 0, 10, 1245185, 0, 65536, 1179649, 1, 131072, 1179649, 1, 196608, 1179649, 1, 262144, 1179649, 1, 327680, 1179649, 1, 393216, 1179649, 1, 458752, 1179649, 1, 524288, 1179649, 2, 11, 1245185, 0, 12, 1245185, 0, 13, 1245185, 0, 14, 1245185, 0, 15, 1310721, 0, 65551, 1310721, 1, 131087, 1310721, 1, 196623, 1310721, 1, 262159, 1310721, 1, 327695, 1310721, 1, 393231, 1310721, 1, 458767, 1310721, 1, 524303, 1310721, 2, 524289, 1245185, 2, 524290, 1245185, 2, 524291, 1245185, 2, 524292, 1245185, 2, 524293, 1245185, 2, 524294, 1245185, 2, 524295, 1245185, 2, 524296, 1245185, 2, 524297, 1245185, 2, 524298, 1245185, 2, 524299, 1245185, 2, 524300, 1245185, 2, 524301, 1245185, 2, 524302, 1245185, 2, 458766, 262145, 18, 393230, 262145, 18, 327694, 262145, 18, 262158, 262145, 18, 196622, 262145, 18, 131086, 262145, 18, 65550, 262145, 18, 65537, 262145, 18, 131073, 262145, 18, 196609, 262145, 18, 262145, 262145, 18, 327681, 262145, 18, 393217, 262145, 18, 458753, 262145, 18) +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(80, 48) + +[node name="stairs" parent="." instance=ExtResource("3_w7jut")] +position = Vector2(192, 64) +toward_room_id = 5 diff --git a/src/maps/map-5.tscn b/src/maps/map-5.tscn new file mode 100644 index 0000000..0d0681b --- /dev/null +++ b/src/maps/map-5.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=5 format=3 uid="uid://cy6ft3gis6xo1"] + +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_1iq0s"] +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="2_bw06a"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_oj5pp"] +[ext_resource type="PackedScene" uid="uid://cojb8qcua33fo" path="res://src/scene-tiles/chest/chest.tscn" id="4_wwsf8"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_1iq0s") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("2_bw06a") +format = 2 +layer_0/name = "walls" +layer_0/tile_data = PackedInt32Array(0, 1179649, 0, 1, 1245185, 0, 2, 1245185, 0, 3, 1245185, 0, 4, 1245185, 0, 5, 1245185, 0, 6, 1245185, 0, 7, 1245185, 0, 8, 1245185, 0, 9, 1245185, 0, 10, 1245185, 0, 65536, 1179649, 1, 131072, 1179649, 1, 196608, 1179649, 1, 262144, 1179649, 1, 327680, 1179649, 1, 393216, 1179649, 1, 458752, 1179649, 1, 524288, 1179649, 2, 11, 1245185, 0, 12, 1245185, 0, 13, 1245185, 0, 14, 1245185, 0, 15, 1310721, 0, 65551, 1310721, 1, 131087, 1310721, 1, 196623, 1310721, 1, 262159, 1310721, 1, 327695, 1310721, 1, 393231, 1310721, 1, 458767, 1310721, 1, 524303, 1310721, 2, 524289, 1245185, 2, 524290, 1245185, 2, 524292, 1245185, 2, 524293, 1245185, 2, 524294, 1245185, 2, 524295, 1245185, 2, 524296, 1245185, 2, 524297, 1245185, 2, 524298, 1245185, 2, 524299, 1245185, 2, 524300, 1245185, 2, 524301, 1245185, 2, 524302, 1245185, 2, 458766, 262145, 18, 458765, 262145, 18, 458764, 262145, 18, 458763, 262145, 18, 393230, 262145, 18, 327694, 262145, 18, 262158, 262145, 18, 196622, 262145, 18, 196621, 262145, 18, 262157, 262145, 18, 327693, 262145, 18, 393229, 262145, 18, 393228, 262145, 18, 327692, 262145, 18, 458762, 262145, 18, 458761, 262145, 18, 131086, 262145, 18, 65550, 262145, 18, 65549, 262145, 18, 131085, 262145, 18, 131073, 262145, 18, 65537, 262145, 18, 65538, 262145, 18, 65539, 262145, 18, 65540, 262145, 18, 65541, 262145, 18, 65542, 262145, 18, 65543, 262145, 18, 65544, 262145, 18, 65545, 262145, 18, 65546, 262145, 18, 65547, 262145, 18, 65548, 262145, 18, 131074, 262145, 18, 524291, 1245185, 2, 458754, 262145, 18, 393218, 262145, 18, 327682, 262145, 18, 262146, 262145, 18, 196610, 262145, 18, 196609, 262145, 18, 262145, 262145, 18, 327681, 262145, 18, 393217, 262145, 18, 458753, 262145, 18, 131075, 262145, 18, 131076, 262145, 18, 196614, 262145, 18, 262147, 262145, 18, 262148, 262145, 18, 196611, 262145, 18, 196615, 262145, 18, 196616, 262145, 18, 262153, 262145, 18, 327690, 262145, 18, 327691, 262145, 18, 196612, 196609, 18, 196613, 196609, 18, 131077, 196609, 18, 131078, 196609, 18, 131079, 196609, 18, 131080, 196609, 18, 131081, 196609, 18, 196617, 196609, 18, 327689, 262145, 18) +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(80, 64) + +[node name="stairs" parent="." instance=ExtResource("3_oj5pp")] +position = Vector2(112, 96) +toward_room_id = 6 + +[node name="Chest" parent="." instance=ExtResource("4_wwsf8")] +position = Vector2(176, 48) diff --git a/src/maps/map-6.tscn b/src/maps/map-6.tscn new file mode 100644 index 0000000..467020e --- /dev/null +++ b/src/maps/map-6.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=4 format=3 uid="uid://32pkjn8ivcow"] + +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_8dqx8"] +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="2_iwcel"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_qk1jn"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_8dqx8") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("2_iwcel") +format = 2 +layer_0/name = "walls" +layer_0/tile_data = PackedInt32Array(0, 1179649, 0, 1, 1245185, 0, 2, 1245185, 0, 3, 1245185, 0, 4, 1245185, 0, 5, 1245185, 0, 6, 1245185, 0, 7, 1245185, 0, 8, 1245185, 0, 9, 1245185, 0, 10, 1245185, 0, 65536, 1179649, 1, 131072, 1179649, 1, 196608, 1179649, 1, 262144, 1179649, 1, 327680, 1179649, 1, 393216, 1179649, 1, 458752, 1179649, 1, 524288, 1179649, 2, 11, 1245185, 0, 12, 1245185, 0, 13, 1245185, 0, 14, 1245185, 0, 15, 1310721, 0, 65551, 1310721, 1, 131087, 1310721, 1, 196623, 1310721, 1, 262159, 1310721, 1, 327695, 1310721, 1, 393231, 1310721, 1, 458767, 1310721, 1, 524303, 1310721, 2, 524289, 1245185, 2, 524290, 1245185, 2, 524292, 1245185, 2, 524293, 1245185, 2, 524294, 1245185, 2, 524295, 1245185, 2, 524296, 1245185, 2, 524297, 1245185, 2, 524298, 1245185, 2, 524299, 1245185, 2, 524300, 1245185, 2, 524301, 1245185, 2, 524302, 1245185, 2, 65540, 262145, 18, 65541, 262145, 18, 65542, 262145, 18, 131078, 262145, 18, 131077, 262145, 18, 131076, 262145, 18, 524291, 1245185, 2, 196615, 262145, 18, 196616, 262145, 18, 131079, 262145, 18, 65544, 262145, 18, 65543, 262145, 18, 131080, 262145, 18, 196617, 262145, 18, 65545, 262145, 18, 131081, 262145, 18, 131082, 262145, 18, 196618, 262145, 18, 65546, 262145, 18, 458766, 262145, 18, 393230, 262145, 18, 327694, 262145, 18, 393229, 262145, 18, 458765, 262145, 18, 458764, 262145, 18, 458763, 262145, 18, 393228, 262145, 18, 327693, 262145, 18, 458755, 262145, 18, 458756, 262145, 18, 393219, 262145, 18, 65547, 262145, 18, 65548, 262145, 18, 65549, 262145, 18, 65550, 262145, 18, 131086, 262145, 18, 196622, 262145, 18, 262158, 262145, 18, 458754, 196609, 18, 393218, 196609, 18, 327682, 196609, 18, 327681, 196609, 18, 393217, 196609, 18, 458753, 196609, 18, 131075, 196609, 18, 65539, 196609, 18, 65538, 196609, 18, 65537, 196609, 18, 131073, 196609, 18, 131074, 196609, 18) +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(80, 64) + +[node name="stairs" parent="." instance=ExtResource("3_qk1jn")] +position = Vector2(112, 112) +toward_room_id = 7 + +[node name="stairs2" parent="." instance=ExtResource("3_qk1jn")] +position = Vector2(192, 48) +toward_room_id = 8 diff --git a/src/maps/map-7.tscn b/src/maps/map-7.tscn new file mode 100644 index 0000000..c35aed7 --- /dev/null +++ b/src/maps/map-7.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=3 uid="uid://qmrwu7f2fpg6"] + +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_4rl4u"] +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="2_hcug5"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_3nspj"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_4rl4u") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("2_hcug5") +format = 2 +layer_0/name = "walls" +layer_0/tile_data = PackedInt32Array(0, 1179649, 0, 1, 1245185, 0, 2, 1245185, 0, 3, 1245185, 0, 4, 1245185, 0, 5, 1245185, 0, 6, 1245185, 0, 7, 1245185, 0, 8, 1245185, 0, 9, 1245185, 0, 10, 1245185, 0, 65536, 1179649, 1, 131072, 1179649, 1, 196608, 1179649, 1, 262144, 1179649, 1, 327680, 1179649, 1, 393216, 1179649, 1, 458752, 1179649, 1, 524288, 1179649, 2, 11, 1245185, 0, 12, 1245185, 0, 15, 1310721, 0, 65551, 1310721, 1, 131087, 1310721, 1, 196623, 1310721, 1, 262159, 1310721, 1, 327695, 1310721, 1, 393231, 1310721, 1, 458767, 1310721, 1, 524303, 1310721, 2, 524289, 1245185, 2, 524290, 1245185, 2, 524292, 1245185, 2, 524293, 1245185, 2, 524294, 1245185, 2, 524295, 1245185, 2, 524296, 1245185, 2, 524297, 1245185, 2, 524298, 1245185, 2, 524299, 1245185, 2, 524300, 1245185, 2, 524301, 1245185, 2, 524302, 1245185, 2, 131073, 262145, 18, 65537, 262145, 18, 65538, 262145, 18, 65539, 262145, 18, 65540, 262145, 18, 131074, 262145, 18, 524291, 1245185, 2, 196609, 262145, 18, 196610, 262145, 18, 262146, 262145, 18, 262145, 262145, 18, 131075, 262145, 18, 196611, 262145, 18, 14, 1245185, 0, 13, 1245185, 0, 65550, 262145, 18, 131086, 262145, 18, 196622, 262145, 18, 393230, 262145, 18, 458766, 262145, 18, 458765, 262145, 18, 393228, 262145, 18, 393229, 262145, 18, 196621, 262145, 18, 131085, 262145, 18, 131084, 262145, 18, 131083, 262145, 18, 196618, 262145, 18, 458757, 262145, 18, 458758, 262145, 18, 458756, 196609, 18, 458755, 196609, 18, 458754, 196609, 18, 458753, 196609, 18, 327693, 196609, 18, 327694, 196609, 18, 262158, 196609, 18, 262157, 196609, 18) +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(80, 64) + +[node name="stairs" parent="." instance=ExtResource("3_3nspj")] +position = Vector2(192, 48) +toward_room_id = 3 diff --git a/src/maps/map-77.tscn b/src/maps/map-77.tscn new file mode 100644 index 0000000..12ace6b --- /dev/null +++ b/src/maps/map-77.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=4 format=3 uid="uid://bhhcjxrvxxawg"] + +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_f3vvj"] +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="2_l7q50"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_les7w"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_f3vvj") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("2_l7q50") +format = 2 +layer_0/name = "walls" +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(80, 64) + +[node name="stairs" parent="." instance=ExtResource("3_les7w")] +position = Vector2(192, 64) +toward_room_id = 1 +[node name="stairs2" parent="." instance=ExtResource("3_les7w")] +position = Vector2(192, 48) +toward_room_id = 6 diff --git a/src/maps/map-8.tscn b/src/maps/map-8.tscn new file mode 100644 index 0000000..d6cce5d --- /dev/null +++ b/src/maps/map-8.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=4 format=3 uid="uid://bodeim6hge5e7"] + +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_xna0b"] +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="2_s8tme"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_cycrh"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_xna0b") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("2_s8tme") +format = 2 +layer_0/name = "walls" +layer_0/tile_data = PackedInt32Array(0, 1179649, 0, 1, 1245185, 0, 2, 1245185, 0, 3, 1245185, 0, 4, 1245185, 0, 5, 1245185, 0, 6, 1245185, 0, 7, 1245185, 0, 8, 1245185, 0, 9, 1245185, 0, 10, 1245185, 0, 65536, 1179649, 1, 131072, 1179649, 1, 196608, 1179649, 1, 262144, 1179649, 1, 327680, 1179649, 1, 393216, 1179649, 1, 458752, 1179649, 1, 524288, 1179649, 2, 11, 1245185, 0, 12, 1245185, 0, 13, 1245185, 0, 14, 1245185, 0, 15, 1310721, 0, 65551, 1310721, 1, 131087, 1310721, 1, 196623, 1310721, 1, 262159, 1310721, 1, 327695, 1310721, 1, 393231, 1310721, 1, 458767, 1310721, 1, 524303, 1310721, 2, 524289, 1245185, 2, 524290, 1245185, 2, 524292, 1245185, 2, 524293, 1245185, 2, 524294, 1245185, 2, 524295, 1245185, 2, 524296, 1245185, 2, 524297, 1245185, 2, 524298, 1245185, 2, 524299, 1245185, 2, 524300, 1245185, 2, 524301, 1245185, 2, 524302, 1245185, 2, 458766, 262145, 18, 458765, 262145, 18, 458764, 262145, 18, 458763, 262145, 18, 393230, 262145, 18, 327694, 262145, 18, 262158, 262145, 18, 196622, 262145, 18, 196621, 262145, 18, 262157, 262145, 18, 327693, 262145, 18, 393229, 262145, 18, 393228, 262145, 18, 327692, 262145, 18, 262156, 262145, 18, 393227, 262145, 18, 458762, 262145, 18, 458761, 262145, 18, 131086, 262145, 18, 65550, 262145, 18, 65549, 262145, 18, 131085, 262145, 18, 131073, 262145, 18, 65537, 262145, 18, 65538, 262145, 18, 65548, 262145, 18, 131084, 262145, 18, 131082, 262145, 18, 131081, 262145, 18, 131080, 262145, 18, 131079, 262145, 18, 131078, 262145, 18, 131077, 262145, 18, 131076, 262145, 18, 131074, 262145, 18, 524291, 1245185, 2, 393217, 262145, 18, 393218, 262145, 18, 393219, 262145, 18, 393220, 262145, 18, 393221, 262145, 18, 393222, 262145, 18, 458758, 262145, 18, 458757, 262145, 18, 458756, 262145, 18, 458755, 262145, 18, 458754, 262145, 18, 458753, 262145, 18, 327687, 262145, 18, 262152, 262145, 18, 196617, 262145, 18, 131075, 196609, 18, 65539, 196609, 18, 65540, 196609, 18, 65541, 196609, 18, 65542, 196609, 18, 65543, 196609, 18, 65544, 196609, 18, 65545, 196609, 18, 65546, 196609, 18, 65547, 196609, 18, 131083, 196609, 18) +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(80, 64) + +[node name="stairs" parent="." instance=ExtResource("3_cycrh")] +position = Vector2(96, 80) +toward_room_id = 10 diff --git a/src/maps/map-9.tscn b/src/maps/map-9.tscn new file mode 100644 index 0000000..2dd65db --- /dev/null +++ b/src/maps/map-9.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=4 format=3 uid="uid://b4qe43ry8jtg"] + +[ext_resource type="Script" path="res://src/maps/map.gd" id="1_ojfbm"] +[ext_resource type="TileSet" uid="uid://dmwbt07hsdtyl" path="res://src/resources/map_tileset.tres" id="2_tet7f"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_n0dp0"] + +[node name="Map" type="Node2D"] +script = ExtResource("1_ojfbm") + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("2_tet7f") +format = 2 +layer_0/name = "walls" +layer_0/tile_data = PackedInt32Array(0, 1179649, 0, 1, 1245185, 0, 2, 1245185, 0, 3, 1245185, 0, 4, 1245185, 0, 5, 1245185, 0, 6, 1245185, 0, 7, 1245185, 0, 8, 1245185, 0, 9, 1245185, 0, 10, 1245185, 0, 65536, 1179649, 1, 131072, 1179649, 1, 196608, 1179649, 1, 262144, 1179649, 1, 327680, 1179649, 1, 393216, 1179649, 1, 458752, 1179649, 1, 524288, 1179649, 2, 11, 1245185, 0, 12, 1245185, 0, 13, 1245185, 0, 14, 1245185, 0, 15, 1310721, 0, 65551, 1310721, 1, 131087, 1310721, 1, 196623, 1310721, 1, 262159, 1310721, 1, 327695, 1310721, 1, 393231, 1310721, 1, 458767, 1310721, 1, 524303, 1310721, 2, 524289, 1245185, 2, 524290, 1245185, 2, 524292, 1245185, 2, 524293, 1245185, 2, 524294, 1245185, 2, 524295, 1245185, 2, 524296, 1245185, 2, 524297, 1245185, 2, 524298, 1245185, 2, 524299, 1245185, 2, 524300, 1245185, 2, 524301, 1245185, 2, 524302, 1245185, 2, 524291, 1245185, 2, 196616, 262145, 18, 262152, 262145, 18, 327688, 262145, 18, 196611, 262145, 18, 262147, 262145, 18, 327683, 262145, 18, 393224, 196609, 18, 393219, 196609, 18, 131080, 196609, 18, 131075, 196609, 18) +layer_1/tile_data = PackedInt32Array(196615, 3, 65536, 393226, 3, 131072) + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(80, 64) + +[node name="stairs" parent="." instance=ExtResource("3_n0dp0")] +position = Vector2(197, 27) +toward_room_id = 1 + +[node name="stairs2" parent="." instance=ExtResource("3_n0dp0")] +position = Vector2(197, 62) +toward_room_id = 3 + +[node name="stairs3" parent="." instance=ExtResource("3_n0dp0")] +position = Vector2(198, 108) +toward_room_id = 6 diff --git a/src/maps/map.gd b/src/maps/map.gd new file mode 100644 index 0000000..c041711 --- /dev/null +++ b/src/maps/map.gd @@ -0,0 +1,13 @@ +class_name Map +extends Node2D + +# we need to add a collision shape to the tilemap for the player raycast to be able to detect it, otherwise it'll be considered null. +var id:int + +@onready var tilemap:TileMap = $TileMap +func _ready() -> void: + tilemap.add_to_group('wall') + + +func _process(delta: float) -> void: + pass diff --git a/src/menu/item_ui.gd b/src/menu/item_ui.gd new file mode 100644 index 0000000..6db4878 --- /dev/null +++ b/src/menu/item_ui.gd @@ -0,0 +1,7 @@ +extends TextureRect +class_name ItemIcon +# is their a simpler way then this? +var id:String + + + diff --git a/src/menu/item_ui.tscn b/src/menu/item_ui.tscn new file mode 100644 index 0000000..44f250b --- /dev/null +++ b/src/menu/item_ui.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://dhi5ko8td6k8x"] + +[ext_resource type="Script" path="res://src/menu/item_ui.gd" id="2_02iya"] + +[node name="TextureRect" type="TextureRect"] +script = ExtResource("2_02iya") diff --git a/src/menu/menu_layer.tscn b/src/menu/menu_layer.tscn new file mode 100644 index 0000000..a11e294 --- /dev/null +++ b/src/menu/menu_layer.tscn @@ -0,0 +1,98 @@ +[gd_scene load_steps=4 format=3 uid="uid://cx216evccp36t"] + +[ext_resource type="Script" path="res://src/main/menu_layer.gd" id="1_1jpgf"] +[ext_resource type="Theme" uid="uid://eyq5i2mlpkwn" path="res://assets/ui_themes/new_theme.tres" id="2_aexfy"] +[ext_resource type="Texture2D" uid="uid://d22wn20kyg23l" path="res://assets/item_cursor.png" id="3_8ywvp"] + +[node name="MenuLayer" type="CanvasLayer"] +layer = 2 +script = ExtResource("1_1jpgf") + +[node name="Menu" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 0 +offset_top = 17.0 +offset_right = 256.0 +offset_bottom = 144.0 + +[node name="TextPanel" type="Panel" parent="Menu"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.59375 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_aexfy") +metadata/_edit_use_anchors_ = true + +[node name="MarginContainer" type="MarginContainer" parent="Menu/TextPanel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 8 +theme_override_constants/margin_top = 8 +theme_override_constants/margin_right = 8 +theme_override_constants/margin_bottom = 8 + +[node name="VBoxContainer" type="VBoxContainer" parent="Menu/TextPanel/MarginContainer"] +layout_mode = 2 + +[node name="ItemTitle" type="Label" parent="Menu/TextPanel/MarginContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 0 +text = "item name" +autowrap_mode = 2 +uppercase = true + +[node name="ItemDesc" type="Label" parent="Menu/TextPanel/MarginContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 0 +text = "the Items description." +autowrap_mode = 2 + +[node name="ItemPanel" type="Panel" parent="Menu"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -102.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_aexfy") + +[node name="ItemCursor" type="TextureRect" parent="Menu/ItemPanel"] +unique_name_in_owner = true +layout_mode = 2 +offset_left = 16.0 +offset_top = 16.0 +offset_right = 32.0 +offset_bottom = 32.0 +size_flags_horizontal = 0 +size_flags_vertical = 0 +texture = ExtResource("3_8ywvp") +stretch_mode = 2 + +[node name="MarginContainer" type="MarginContainer" parent="Menu/ItemPanel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 16 +theme_override_constants/margin_top = 16 +theme_override_constants/margin_right = 16 +theme_override_constants/margin_bottom = 16 + +[node name="ItemGrid" type="GridContainer" parent="Menu/ItemPanel/MarginContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_constants/h_separation = 8 +theme_override_constants/v_separation = 8 +columns = 5 diff --git a/src/player/player.gd b/src/player/player.gd new file mode 100644 index 0000000..ea43132 --- /dev/null +++ b/src/player/player.gd @@ -0,0 +1,95 @@ +class_name Player +extends Area2D + +@onready var boots_packed_scene: PackedScene = preload("res://src/boots/boots.tscn") +@onready var raycast := $RayCast2D + +signal walked_into_stairs(toward_which_room_id) +signal moved(dir) + +const TILE_SIZE := 16 +var is_actionable:= true + +var inventory := [] + +var has_boots := false + +var equipped_item:Item + +func _init() -> void: + add_to_group("player") + +func _ready() -> void: + raycast.collide_with_areas = true + + +func get_input_vector(event: InputEvent) -> Vector2: + # make vector representing player input + var dir := Vector2.ZERO + if event.is_action_pressed("ui_up"): + dir.y -= 1 + if event.is_action_pressed("ui_down"): + dir.y += 1 + if event.is_action_pressed("ui_left"): + dir.x -= 1 + if event.is_action_pressed("ui_right"): + dir.x += 1 + return dir + + +func _unhandled_input(event: InputEvent) -> void: + var _input_dir := get_input_vector(event) + #check what group the next tile is in based on your raycast + if _input_dir != Vector2.ZERO: + _move(_input_dir) + return + + if event.is_action_pressed('interact'): + _interact() + + if event.is_action_pressed('menu'): + # don't try this at home + get_parent()._toggle_menu(inventory) + +func _move(_input_dir:Vector2) -> void: + raycast.target_position = _input_dir * TILE_SIZE + # clear old raycast collison then get new one + raycast.force_raycast_update() + var next_tile: Object = raycast.get_collider() + + if next_tile == null or next_tile.is_in_group('walkable'): + position += _input_dir * TILE_SIZE + moved.emit(_input_dir) + check_next_tile(next_tile) + +func check_next_tile(tile: Object) -> void: + if tile == null: + return + if tile.is_in_group('stairs'): + walked_into_stairs.emit(tile.next_room_id) + +func _interact() -> void: + raycast.force_raycast_update() + var interact_tile: Object = raycast.get_collider() + if interact_tile == null: + print('wow nothing!') + return + if interact_tile.is_in_group('interact'): + interact_tile._on_interaction(self) + + +func give_boots(): + var boots = boots_packed_scene.instantiate() + add_child(boots) + + has_boots = true + +func has_item(id:String) -> bool: + for item in inventory: + if item.id == id: + return true + return false + +func has_item_equipped(id:String) -> bool: + return equipped_item.id == id + diff --git a/src/player/player.tscn b/src/player/player.tscn new file mode 100644 index 0000000..c9aa73c --- /dev/null +++ b/src/player/player.tscn @@ -0,0 +1,27 @@ +[gd_scene load_steps=5 format=3 uid="uid://bp6oyjqvoyffq"] + +[ext_resource type="Texture2D" uid="uid://b3w5cmqr6fbcw" path="res://assets/monochrome-transparent_packed.png" id="1_bwexj"] +[ext_resource type="Script" path="res://src/player/player.gd" id="1_fqi5k"] +[ext_resource type="PackedScene" uid="uid://dtgyaic6xsu0h" path="res://src/boots/boots.tscn" id="3_6ip46"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_v5s8d"] +size = Vector2(16, 16) + +[node name="Player" type="Area2D"] +script = ExtResource("1_fqi5k") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(8, 8) +shape = SubResource("RectangleShape2D_v5s8d") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("1_bwexj") +centered = false +region_enabled = true +region_rect = Rect2(432, 0, 16, 16) + +[node name="RayCast2D" type="RayCast2D" parent="."] +position = Vector2(8, 8) +target_position = Vector2(0, 16) + +[node name="Boots" parent="." instance=ExtResource("3_6ip46")] diff --git a/src/resources/gitnoremove.md b/src/resources/gitnoremove.md deleted file mode 100644 index e69de29..0000000 diff --git a/src/resources/map_tileset.tres b/src/resources/map_tileset.tres new file mode 100644 index 0000000..6fa79eb --- /dev/null +++ b/src/resources/map_tileset.tres @@ -0,0 +1,3257 @@ +[gd_resource type="TileSet" load_steps=6 format=3 uid="uid://dmwbt07hsdtyl"] + +[ext_resource type="Texture2D" uid="uid://b3w5cmqr6fbcw" path="res://assets/monochrome-transparent_packed.png" id="1_q6o4g"] +[ext_resource type="PackedScene" uid="uid://cojb8qcua33fo" path="res://src/scene-tiles/chest/chest.tscn" id="2_poklm"] +[ext_resource type="PackedScene" uid="uid://cmdlpc0uddsm2" path="res://src/scene-tiles/stairs/stairs.tscn" id="3_uqirg"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ari5a"] +texture = ExtResource("1_q6o4g") +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0 = 0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0 = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +17:0/0 = 0 +17:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:0/0/physics_layer_0/angular_velocity = 0.0 +19:0/0 = 0 +19:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:0/0/physics_layer_0/angular_velocity = 0.0 +19:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +20:0/0 = 0 +20:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:0/0/physics_layer_0/angular_velocity = 0.0 +20:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +21:0/0 = 0 +21:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:0/0/physics_layer_0/angular_velocity = 0.0 +22:0/0 = 0 +22:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:0/0/physics_layer_0/angular_velocity = 0.0 +23:0/0 = 0 +23:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:0/0/physics_layer_0/angular_velocity = 0.0 +24:0/0 = 0 +24:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:0/0/physics_layer_0/angular_velocity = 0.0 +25:0/0 = 0 +25:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:0/0/physics_layer_0/angular_velocity = 0.0 +26:0/0 = 0 +26:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:0/0/physics_layer_0/angular_velocity = 0.0 +27:0/0 = 0 +27:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:0/0/physics_layer_0/angular_velocity = 0.0 +28:0/0 = 0 +28:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:0/0/physics_layer_0/angular_velocity = 0.0 +29:0/0 = 0 +29:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:0/0/physics_layer_0/angular_velocity = 0.0 +30:0/0 = 0 +30:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:0/0/physics_layer_0/angular_velocity = 0.0 +31:0/0 = 0 +31:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:0/0/physics_layer_0/angular_velocity = 0.0 +32:0/0 = 0 +32:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:0/0/physics_layer_0/angular_velocity = 0.0 +33:0/0 = 0 +33:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:0/0/physics_layer_0/angular_velocity = 0.0 +34:0/0 = 0 +34:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:0/0/physics_layer_0/angular_velocity = 0.0 +35:0/0 = 0 +35:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:0/0/physics_layer_0/angular_velocity = 0.0 +36:0/0 = 0 +36:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:0/0/physics_layer_0/angular_velocity = 0.0 +37:0/0 = 0 +37:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:0/0/physics_layer_0/angular_velocity = 0.0 +38:0/0 = 0 +38:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:0/0/physics_layer_0/angular_velocity = 0.0 +39:0/0 = 0 +39:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:0/0/physics_layer_0/angular_velocity = 0.0 +40:0/0 = 0 +40:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:0/0/physics_layer_0/angular_velocity = 0.0 +41:0/0 = 0 +41:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:0/0/physics_layer_0/angular_velocity = 0.0 +42:0/0 = 0 +42:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:0/0/physics_layer_0/angular_velocity = 0.0 +43:0/0 = 0 +43:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:0/0/physics_layer_0/angular_velocity = 0.0 +44:0/0 = 0 +44:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:0/0/physics_layer_0/angular_velocity = 0.0 +45:0/0 = 0 +45:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:0/0/physics_layer_0/angular_velocity = 0.0 +46:0/0 = 0 +46:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:0/0/physics_layer_0/angular_velocity = 0.0 +47:0/0 = 0 +47:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:0/0/physics_layer_0/angular_velocity = 0.0 +48:0/0 = 0 +48:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:0/0/physics_layer_0/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +6:1/0 = 0 +6:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0 = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0 = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0 = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +14:1/0 = 0 +14:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +17:1/0 = 0 +17:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:1/0/physics_layer_0/angular_velocity = 0.0 +18:1/0 = 0 +18:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:1/0/physics_layer_0/angular_velocity = 0.0 +18:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +19:1/0 = 0 +19:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:1/0/physics_layer_0/angular_velocity = 0.0 +20:1/0 = 0 +20:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:1/0/physics_layer_0/angular_velocity = 0.0 +20:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +21:1/0 = 0 +21:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:1/0/physics_layer_0/angular_velocity = 0.0 +22:1/0 = 0 +22:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:1/0/physics_layer_0/angular_velocity = 0.0 +23:1/0 = 0 +23:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:1/0/physics_layer_0/angular_velocity = 0.0 +24:1/0 = 0 +24:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:1/0/physics_layer_0/angular_velocity = 0.0 +25:1/0 = 0 +25:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:1/0/physics_layer_0/angular_velocity = 0.0 +26:1/0 = 0 +26:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:1/0/physics_layer_0/angular_velocity = 0.0 +27:1/0 = 0 +27:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:1/0/physics_layer_0/angular_velocity = 0.0 +28:1/0 = 0 +28:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:1/0/physics_layer_0/angular_velocity = 0.0 +29:1/0 = 0 +29:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:1/0/physics_layer_0/angular_velocity = 0.0 +30:1/0 = 0 +30:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:1/0/physics_layer_0/angular_velocity = 0.0 +31:1/0 = 0 +31:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:1/0/physics_layer_0/angular_velocity = 0.0 +32:1/0 = 0 +32:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:1/0/physics_layer_0/angular_velocity = 0.0 +33:1/0 = 0 +33:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:1/0/physics_layer_0/angular_velocity = 0.0 +34:1/0 = 0 +34:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:1/0/physics_layer_0/angular_velocity = 0.0 +35:1/0 = 0 +35:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:1/0/physics_layer_0/angular_velocity = 0.0 +36:1/0 = 0 +36:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:1/0/physics_layer_0/angular_velocity = 0.0 +37:1/0 = 0 +37:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:1/0/physics_layer_0/angular_velocity = 0.0 +38:1/0 = 0 +38:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:1/0/physics_layer_0/angular_velocity = 0.0 +39:1/0 = 0 +39:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:1/0/physics_layer_0/angular_velocity = 0.0 +40:1/0 = 0 +40:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:1/0/physics_layer_0/angular_velocity = 0.0 +41:1/0 = 0 +41:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:1/0/physics_layer_0/angular_velocity = 0.0 +42:1/0 = 0 +42:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:1/0/physics_layer_0/angular_velocity = 0.0 +43:1/0 = 0 +43:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:1/0/physics_layer_0/angular_velocity = 0.0 +44:1/0 = 0 +44:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:1/0/physics_layer_0/angular_velocity = 0.0 +45:1/0 = 0 +45:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:1/0/physics_layer_0/angular_velocity = 0.0 +46:1/0 = 0 +46:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:1/0/physics_layer_0/angular_velocity = 0.0 +47:1/0 = 0 +47:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:1/0/physics_layer_0/angular_velocity = 0.0 +48:1/0 = 0 +48:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:1/0/physics_layer_0/angular_velocity = 0.0 +0:2/0 = 0 +0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:2/0/physics_layer_0/angular_velocity = 0.0 +1:2/0 = 0 +1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +5:2/0 = 0 +5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:2/0/physics_layer_0/angular_velocity = 0.0 +6:2/0 = 0 +6:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0 = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0 = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0 = 0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +17:2/0 = 0 +17:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:2/0/physics_layer_0/angular_velocity = 0.0 +18:2/0 = 0 +18:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:2/0/physics_layer_0/angular_velocity = 0.0 +18:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +19:2/0 = 0 +19:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:2/0/physics_layer_0/angular_velocity = 0.0 +19:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +20:2/0 = 0 +20:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:2/0/physics_layer_0/angular_velocity = 0.0 +20:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +21:2/0 = 0 +21:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:2/0/physics_layer_0/angular_velocity = 0.0 +22:2/0 = 0 +22:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:2/0/physics_layer_0/angular_velocity = 0.0 +23:2/0 = 0 +23:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:2/0/physics_layer_0/angular_velocity = 0.0 +24:2/0 = 0 +24:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:2/0/physics_layer_0/angular_velocity = 0.0 +25:2/0 = 0 +25:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:2/0/physics_layer_0/angular_velocity = 0.0 +26:2/0 = 0 +26:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:2/0/physics_layer_0/angular_velocity = 0.0 +27:2/0 = 0 +27:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:2/0/physics_layer_0/angular_velocity = 0.0 +28:2/0 = 0 +28:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:2/0/physics_layer_0/angular_velocity = 0.0 +29:2/0 = 0 +29:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:2/0/physics_layer_0/angular_velocity = 0.0 +30:2/0 = 0 +30:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:2/0/physics_layer_0/angular_velocity = 0.0 +31:2/0 = 0 +31:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:2/0/physics_layer_0/angular_velocity = 0.0 +32:2/0 = 0 +32:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:2/0/physics_layer_0/angular_velocity = 0.0 +33:2/0 = 0 +33:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:2/0/physics_layer_0/angular_velocity = 0.0 +34:2/0 = 0 +34:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:2/0/physics_layer_0/angular_velocity = 0.0 +35:2/0 = 0 +35:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:2/0/physics_layer_0/angular_velocity = 0.0 +36:2/0 = 0 +36:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:2/0/physics_layer_0/angular_velocity = 0.0 +37:2/0 = 0 +37:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:2/0/physics_layer_0/angular_velocity = 0.0 +38:2/0 = 0 +38:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:2/0/physics_layer_0/angular_velocity = 0.0 +39:2/0 = 0 +39:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:2/0/physics_layer_0/angular_velocity = 0.0 +40:2/0 = 0 +40:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:2/0/physics_layer_0/angular_velocity = 0.0 +41:2/0 = 0 +41:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:2/0/physics_layer_0/angular_velocity = 0.0 +42:2/0 = 0 +42:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:2/0/physics_layer_0/angular_velocity = 0.0 +43:2/0 = 0 +43:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:2/0/physics_layer_0/angular_velocity = 0.0 +44:2/0 = 0 +44:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:2/0/physics_layer_0/angular_velocity = 0.0 +45:2/0 = 0 +45:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:2/0/physics_layer_0/angular_velocity = 0.0 +46:2/0 = 0 +46:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:2/0/physics_layer_0/angular_velocity = 0.0 +47:2/0 = 0 +47:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:2/0/physics_layer_0/angular_velocity = 0.0 +48:2/0 = 0 +48:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:2/0/physics_layer_0/angular_velocity = 0.0 +0:3/0 = 0 +0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:3/0/physics_layer_0/angular_velocity = 0.0 +1:3/0 = 0 +1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:3/0/physics_layer_0/angular_velocity = 0.0 +2:3/0 = 0 +2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +6:3/0 = 0 +6:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +17:3/0 = 0 +17:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:3/0/physics_layer_0/angular_velocity = 0.0 +18:3/0 = 0 +18:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:3/0/physics_layer_0/angular_velocity = 0.0 +19:3/0 = 0 +19:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:3/0/physics_layer_0/angular_velocity = 0.0 +20:3/0 = 0 +20:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:3/0/physics_layer_0/angular_velocity = 0.0 +21:3/0 = 0 +21:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:3/0/physics_layer_0/angular_velocity = 0.0 +22:3/0 = 0 +22:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:3/0/physics_layer_0/angular_velocity = 0.0 +23:3/0 = 0 +23:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:3/0/physics_layer_0/angular_velocity = 0.0 +24:3/0 = 0 +24:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:3/0/physics_layer_0/angular_velocity = 0.0 +25:3/0 = 0 +25:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:3/0/physics_layer_0/angular_velocity = 0.0 +26:3/0 = 0 +26:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:3/0/physics_layer_0/angular_velocity = 0.0 +27:3/0 = 0 +27:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:3/0/physics_layer_0/angular_velocity = 0.0 +28:3/0 = 0 +28:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:3/0/physics_layer_0/angular_velocity = 0.0 +29:3/0 = 0 +29:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:3/0/physics_layer_0/angular_velocity = 0.0 +30:3/0 = 0 +30:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:3/0/physics_layer_0/angular_velocity = 0.0 +31:3/0 = 0 +31:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:3/0/physics_layer_0/angular_velocity = 0.0 +32:3/0 = 0 +32:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:3/0/physics_layer_0/angular_velocity = 0.0 +33:3/0 = 0 +33:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:3/0/physics_layer_0/angular_velocity = 0.0 +34:3/0 = 0 +34:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:3/0/physics_layer_0/angular_velocity = 0.0 +35:3/0 = 0 +35:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:3/0/physics_layer_0/angular_velocity = 0.0 +36:3/0 = 0 +36:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:3/0/physics_layer_0/angular_velocity = 0.0 +37:3/0 = 0 +37:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:3/0/physics_layer_0/angular_velocity = 0.0 +38:3/0 = 0 +38:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:3/0/physics_layer_0/angular_velocity = 0.0 +39:3/0 = 0 +39:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:3/0/physics_layer_0/angular_velocity = 0.0 +40:3/0 = 0 +40:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:3/0/physics_layer_0/angular_velocity = 0.0 +41:3/0 = 0 +41:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:3/0/physics_layer_0/angular_velocity = 0.0 +42:3/0 = 0 +42:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:3/0/physics_layer_0/angular_velocity = 0.0 +43:3/0 = 0 +43:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:3/0/physics_layer_0/angular_velocity = 0.0 +44:3/0 = 0 +44:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:3/0/physics_layer_0/angular_velocity = 0.0 +45:3/0 = 0 +45:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:3/0/physics_layer_0/angular_velocity = 0.0 +46:3/0 = 0 +46:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:3/0/physics_layer_0/angular_velocity = 0.0 +47:3/0 = 0 +47:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:3/0/physics_layer_0/angular_velocity = 0.0 +48:3/0 = 0 +48:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:3/0/physics_layer_0/angular_velocity = 0.0 +0:4/0 = 0 +0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:4/0/physics_layer_0/angular_velocity = 0.0 +1:4/0 = 0 +1:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:4/0/physics_layer_0/angular_velocity = 0.0 +2:4/0 = 0 +2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +6:4/0 = 0 +6:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:4/0/physics_layer_0/angular_velocity = 0.0 +7:4/0 = 0 +7:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +17:4/0 = 0 +17:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:4/0/physics_layer_0/angular_velocity = 0.0 +18:4/0 = 0 +18:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:4/0/physics_layer_0/angular_velocity = 0.0 +19:4/0 = 0 +19:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:4/0/physics_layer_0/angular_velocity = 0.0 +20:4/0 = 0 +20:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:4/0/physics_layer_0/angular_velocity = 0.0 +21:4/0 = 0 +21:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:4/0/physics_layer_0/angular_velocity = 0.0 +22:4/0 = 0 +22:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:4/0/physics_layer_0/angular_velocity = 0.0 +23:4/0 = 0 +23:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:4/0/physics_layer_0/angular_velocity = 0.0 +24:4/0 = 0 +24:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:4/0/physics_layer_0/angular_velocity = 0.0 +25:4/0 = 0 +25:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:4/0/physics_layer_0/angular_velocity = 0.0 +26:4/0 = 0 +26:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:4/0/physics_layer_0/angular_velocity = 0.0 +27:4/0 = 0 +27:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:4/0/physics_layer_0/angular_velocity = 0.0 +28:4/0 = 0 +28:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:4/0/physics_layer_0/angular_velocity = 0.0 +29:4/0 = 0 +29:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:4/0/physics_layer_0/angular_velocity = 0.0 +30:4/0 = 0 +30:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:4/0/physics_layer_0/angular_velocity = 0.0 +31:4/0 = 0 +31:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:4/0/physics_layer_0/angular_velocity = 0.0 +32:4/0 = 0 +32:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:4/0/physics_layer_0/angular_velocity = 0.0 +33:4/0 = 0 +33:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:4/0/physics_layer_0/angular_velocity = 0.0 +34:4/0 = 0 +34:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:4/0/physics_layer_0/angular_velocity = 0.0 +35:4/0 = 0 +35:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:4/0/physics_layer_0/angular_velocity = 0.0 +36:4/0 = 0 +36:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:4/0/physics_layer_0/angular_velocity = 0.0 +37:4/0 = 0 +37:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:4/0/physics_layer_0/angular_velocity = 0.0 +38:4/0 = 0 +38:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:4/0/physics_layer_0/angular_velocity = 0.0 +39:4/0 = 0 +39:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:4/0/physics_layer_0/angular_velocity = 0.0 +40:4/0 = 0 +40:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:4/0/physics_layer_0/angular_velocity = 0.0 +41:4/0 = 0 +41:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:4/0/physics_layer_0/angular_velocity = 0.0 +42:4/0 = 0 +42:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:4/0/physics_layer_0/angular_velocity = 0.0 +43:4/0 = 0 +43:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:4/0/physics_layer_0/angular_velocity = 0.0 +44:4/0 = 0 +44:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:4/0/physics_layer_0/angular_velocity = 0.0 +45:4/0 = 0 +45:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:4/0/physics_layer_0/angular_velocity = 0.0 +46:4/0 = 0 +46:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:4/0/physics_layer_0/angular_velocity = 0.0 +47:4/0 = 0 +47:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:4/0/physics_layer_0/angular_velocity = 0.0 +48:4/0 = 0 +48:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:4/0/physics_layer_0/angular_velocity = 0.0 +0:5/0 = 0 +0:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:5/0/physics_layer_0/angular_velocity = 0.0 +1:5/0 = 0 +1:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:5/0/physics_layer_0/angular_velocity = 0.0 +2:5/0 = 0 +2:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +5:5/0 = 0 +5:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:5/0/physics_layer_0/angular_velocity = 0.0 +6:5/0 = 0 +6:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +17:5/0 = 0 +17:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:5/0/physics_layer_0/angular_velocity = 0.0 +18:5/0 = 0 +18:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:5/0/physics_layer_0/angular_velocity = 0.0 +19:5/0 = 0 +19:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:5/0/physics_layer_0/angular_velocity = 0.0 +20:5/0 = 0 +20:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:5/0/physics_layer_0/angular_velocity = 0.0 +21:5/0 = 0 +21:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:5/0/physics_layer_0/angular_velocity = 0.0 +22:5/0 = 0 +22:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:5/0/physics_layer_0/angular_velocity = 0.0 +23:5/0 = 0 +23:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:5/0/physics_layer_0/angular_velocity = 0.0 +24:5/0 = 0 +24:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:5/0/physics_layer_0/angular_velocity = 0.0 +25:5/0 = 0 +25:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:5/0/physics_layer_0/angular_velocity = 0.0 +26:5/0 = 0 +26:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:5/0/physics_layer_0/angular_velocity = 0.0 +27:5/0 = 0 +27:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:5/0/physics_layer_0/angular_velocity = 0.0 +28:5/0 = 0 +28:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:5/0/physics_layer_0/angular_velocity = 0.0 +29:5/0 = 0 +29:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:5/0/physics_layer_0/angular_velocity = 0.0 +30:5/0 = 0 +30:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:5/0/physics_layer_0/angular_velocity = 0.0 +31:5/0 = 0 +31:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:5/0/physics_layer_0/angular_velocity = 0.0 +32:5/0 = 0 +32:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:5/0/physics_layer_0/angular_velocity = 0.0 +33:5/0 = 0 +33:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:5/0/physics_layer_0/angular_velocity = 0.0 +34:5/0 = 0 +34:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:5/0/physics_layer_0/angular_velocity = 0.0 +35:5/0 = 0 +35:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:5/0/physics_layer_0/angular_velocity = 0.0 +36:5/0 = 0 +36:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:5/0/physics_layer_0/angular_velocity = 0.0 +37:5/0 = 0 +37:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:5/0/physics_layer_0/angular_velocity = 0.0 +38:5/0 = 0 +38:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:5/0/physics_layer_0/angular_velocity = 0.0 +39:5/0 = 0 +39:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:5/0/physics_layer_0/angular_velocity = 0.0 +40:5/0 = 0 +40:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:5/0/physics_layer_0/angular_velocity = 0.0 +41:5/0 = 0 +41:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:5/0/physics_layer_0/angular_velocity = 0.0 +42:5/0 = 0 +42:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:5/0/physics_layer_0/angular_velocity = 0.0 +43:5/0 = 0 +43:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:5/0/physics_layer_0/angular_velocity = 0.0 +44:5/0 = 0 +44:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:5/0/physics_layer_0/angular_velocity = 0.0 +45:5/0 = 0 +45:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:5/0/physics_layer_0/angular_velocity = 0.0 +46:5/0 = 0 +46:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:5/0/physics_layer_0/angular_velocity = 0.0 +47:5/0 = 0 +47:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:5/0/physics_layer_0/angular_velocity = 0.0 +48:5/0 = 0 +48:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:5/0/physics_layer_0/angular_velocity = 0.0 +0:6/0 = 0 +0:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:6/0/physics_layer_0/angular_velocity = 0.0 +1:6/0 = 0 +1:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:6/0/physics_layer_0/angular_velocity = 0.0 +2:6/0 = 0 +2:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +5:6/0 = 0 +5:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:6/0/physics_layer_0/angular_velocity = 0.0 +6:6/0 = 0 +6:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +17:6/0 = 0 +17:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:6/0/physics_layer_0/angular_velocity = 0.0 +18:6/0 = 0 +18:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:6/0/physics_layer_0/angular_velocity = 0.0 +19:6/0 = 0 +19:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:6/0/physics_layer_0/angular_velocity = 0.0 +20:6/0 = 0 +20:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:6/0/physics_layer_0/angular_velocity = 0.0 +21:6/0 = 0 +21:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:6/0/physics_layer_0/angular_velocity = 0.0 +22:6/0 = 0 +22:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:6/0/physics_layer_0/angular_velocity = 0.0 +23:6/0 = 0 +23:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:6/0/physics_layer_0/angular_velocity = 0.0 +24:6/0 = 0 +24:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:6/0/physics_layer_0/angular_velocity = 0.0 +25:6/0 = 0 +25:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:6/0/physics_layer_0/angular_velocity = 0.0 +26:6/0 = 0 +26:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:6/0/physics_layer_0/angular_velocity = 0.0 +27:6/0 = 0 +27:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:6/0/physics_layer_0/angular_velocity = 0.0 +28:6/0 = 0 +28:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:6/0/physics_layer_0/angular_velocity = 0.0 +29:6/0 = 0 +29:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:6/0/physics_layer_0/angular_velocity = 0.0 +30:6/0 = 0 +30:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:6/0/physics_layer_0/angular_velocity = 0.0 +31:6/0 = 0 +31:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:6/0/physics_layer_0/angular_velocity = 0.0 +32:6/0 = 0 +32:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:6/0/physics_layer_0/angular_velocity = 0.0 +33:6/0 = 0 +33:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:6/0/physics_layer_0/angular_velocity = 0.0 +34:6/0 = 0 +34:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:6/0/physics_layer_0/angular_velocity = 0.0 +35:6/0 = 0 +35:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:6/0/physics_layer_0/angular_velocity = 0.0 +36:6/0 = 0 +36:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:6/0/physics_layer_0/angular_velocity = 0.0 +37:6/0 = 0 +37:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:6/0/physics_layer_0/angular_velocity = 0.0 +38:6/0 = 0 +38:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:6/0/physics_layer_0/angular_velocity = 0.0 +39:6/0 = 0 +39:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:6/0/physics_layer_0/angular_velocity = 0.0 +40:6/0 = 0 +40:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:6/0/physics_layer_0/angular_velocity = 0.0 +41:6/0 = 0 +41:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:6/0/physics_layer_0/angular_velocity = 0.0 +42:6/0 = 0 +42:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:6/0/physics_layer_0/angular_velocity = 0.0 +43:6/0 = 0 +43:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:6/0/physics_layer_0/angular_velocity = 0.0 +44:6/0 = 0 +44:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:6/0/physics_layer_0/angular_velocity = 0.0 +45:6/0 = 0 +45:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:6/0/physics_layer_0/angular_velocity = 0.0 +46:6/0 = 0 +46:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:6/0/physics_layer_0/angular_velocity = 0.0 +47:6/0 = 0 +47:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:6/0/physics_layer_0/angular_velocity = 0.0 +48:6/0 = 0 +48:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:6/0/physics_layer_0/angular_velocity = 0.0 +0:7/0 = 0 +0:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:7/0/physics_layer_0/angular_velocity = 0.0 +1:7/0 = 0 +1:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +6:7/0 = 0 +6:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:7/0/physics_layer_0/angular_velocity = 0.0 +7:7/0 = 0 +7:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:7/0/physics_layer_0/angular_velocity = 0.0 +8:7/0 = 0 +8:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:7/0/physics_layer_0/angular_velocity = 0.0 +9:7/0 = 0 +9:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:7/0/physics_layer_0/angular_velocity = 0.0 +10:7/0 = 0 +10:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:7/0/physics_layer_0/angular_velocity = 0.0 +11:7/0 = 0 +11:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:7/0/physics_layer_0/angular_velocity = 0.0 +12:7/0 = 0 +12:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:7/0/physics_layer_0/angular_velocity = 0.0 +13:7/0 = 0 +13:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:7/0/physics_layer_0/angular_velocity = 0.0 +14:7/0 = 0 +14:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:7/0/physics_layer_0/angular_velocity = 0.0 +15:7/0 = 0 +15:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:7/0/physics_layer_0/angular_velocity = 0.0 +16:7/0 = 0 +16:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:7/0/physics_layer_0/angular_velocity = 0.0 +17:7/0 = 0 +17:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:7/0/physics_layer_0/angular_velocity = 0.0 +18:7/0 = 0 +18:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:7/0/physics_layer_0/angular_velocity = 0.0 +19:7/0 = 0 +19:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:7/0/physics_layer_0/angular_velocity = 0.0 +20:7/0 = 0 +20:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:7/0/physics_layer_0/angular_velocity = 0.0 +21:7/0 = 0 +21:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:7/0/physics_layer_0/angular_velocity = 0.0 +22:7/0 = 0 +22:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:7/0/physics_layer_0/angular_velocity = 0.0 +23:7/0 = 0 +23:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:7/0/physics_layer_0/angular_velocity = 0.0 +24:7/0 = 0 +24:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:7/0/physics_layer_0/angular_velocity = 0.0 +25:7/0 = 0 +25:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:7/0/physics_layer_0/angular_velocity = 0.0 +26:7/0 = 0 +26:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:7/0/physics_layer_0/angular_velocity = 0.0 +27:7/0 = 0 +27:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:7/0/physics_layer_0/angular_velocity = 0.0 +28:7/0 = 0 +28:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:7/0/physics_layer_0/angular_velocity = 0.0 +29:7/0 = 0 +29:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:7/0/physics_layer_0/angular_velocity = 0.0 +30:7/0 = 0 +30:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:7/0/physics_layer_0/angular_velocity = 0.0 +31:7/0 = 0 +31:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:7/0/physics_layer_0/angular_velocity = 0.0 +32:7/0 = 0 +32:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:7/0/physics_layer_0/angular_velocity = 0.0 +33:7/0 = 0 +33:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:7/0/physics_layer_0/angular_velocity = 0.0 +34:7/0 = 0 +34:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:7/0/physics_layer_0/angular_velocity = 0.0 +35:7/0 = 0 +35:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:7/0/physics_layer_0/angular_velocity = 0.0 +36:7/0 = 0 +36:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:7/0/physics_layer_0/angular_velocity = 0.0 +37:7/0 = 0 +37:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:7/0/physics_layer_0/angular_velocity = 0.0 +38:7/0 = 0 +38:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:7/0/physics_layer_0/angular_velocity = 0.0 +39:7/0 = 0 +39:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:7/0/physics_layer_0/angular_velocity = 0.0 +40:7/0 = 0 +40:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:7/0/physics_layer_0/angular_velocity = 0.0 +41:7/0 = 0 +41:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:7/0/physics_layer_0/angular_velocity = 0.0 +42:7/0 = 0 +42:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:7/0/physics_layer_0/angular_velocity = 0.0 +43:7/0 = 0 +43:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:7/0/physics_layer_0/angular_velocity = 0.0 +44:7/0 = 0 +44:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:7/0/physics_layer_0/angular_velocity = 0.0 +45:7/0 = 0 +45:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:7/0/physics_layer_0/angular_velocity = 0.0 +46:7/0 = 0 +46:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:7/0/physics_layer_0/angular_velocity = 0.0 +47:7/0 = 0 +47:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:7/0/physics_layer_0/angular_velocity = 0.0 +48:7/0 = 0 +48:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:7/0/physics_layer_0/angular_velocity = 0.0 +0:8/0 = 0 +0:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:8/0/physics_layer_0/angular_velocity = 0.0 +1:8/0 = 0 +1:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:8/0/physics_layer_0/angular_velocity = 0.0 +2:8/0 = 0 +2:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:8/0/physics_layer_0/angular_velocity = 0.0 +3:8/0 = 0 +3:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:8/0/physics_layer_0/angular_velocity = 0.0 +4:8/0 = 0 +4:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:8/0/physics_layer_0/angular_velocity = 0.0 +5:8/0 = 0 +5:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:8/0/physics_layer_0/angular_velocity = 0.0 +6:8/0 = 0 +6:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:8/0/physics_layer_0/angular_velocity = 0.0 +7:8/0 = 0 +7:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:8/0/physics_layer_0/angular_velocity = 0.0 +8:8/0 = 0 +8:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:8/0/physics_layer_0/angular_velocity = 0.0 +9:8/0 = 0 +9:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:8/0/physics_layer_0/angular_velocity = 0.0 +10:8/0 = 0 +10:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:8/0/physics_layer_0/angular_velocity = 0.0 +11:8/0 = 0 +11:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:8/0/physics_layer_0/angular_velocity = 0.0 +12:8/0 = 0 +12:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:8/0/physics_layer_0/angular_velocity = 0.0 +13:8/0 = 0 +13:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:8/0/physics_layer_0/angular_velocity = 0.0 +14:8/0 = 0 +14:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:8/0/physics_layer_0/angular_velocity = 0.0 +15:8/0 = 0 +15:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:8/0/physics_layer_0/angular_velocity = 0.0 +16:8/0 = 0 +16:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:8/0/physics_layer_0/angular_velocity = 0.0 +17:8/0 = 0 +17:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:8/0/physics_layer_0/angular_velocity = 0.0 +18:8/0 = 0 +18:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:8/0/physics_layer_0/angular_velocity = 0.0 +19:8/0 = 0 +19:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:8/0/physics_layer_0/angular_velocity = 0.0 +20:8/0 = 0 +20:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:8/0/physics_layer_0/angular_velocity = 0.0 +21:8/0 = 0 +21:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:8/0/physics_layer_0/angular_velocity = 0.0 +22:8/0 = 0 +22:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:8/0/physics_layer_0/angular_velocity = 0.0 +23:8/0 = 0 +23:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:8/0/physics_layer_0/angular_velocity = 0.0 +24:8/0 = 0 +24:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:8/0/physics_layer_0/angular_velocity = 0.0 +25:8/0 = 0 +25:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:8/0/physics_layer_0/angular_velocity = 0.0 +26:8/0 = 0 +26:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:8/0/physics_layer_0/angular_velocity = 0.0 +27:8/0 = 0 +27:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:8/0/physics_layer_0/angular_velocity = 0.0 +28:8/0 = 0 +28:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:8/0/physics_layer_0/angular_velocity = 0.0 +29:8/0 = 0 +29:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:8/0/physics_layer_0/angular_velocity = 0.0 +30:8/0 = 0 +30:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:8/0/physics_layer_0/angular_velocity = 0.0 +31:8/0 = 0 +31:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:8/0/physics_layer_0/angular_velocity = 0.0 +32:8/0 = 0 +32:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:8/0/physics_layer_0/angular_velocity = 0.0 +33:8/0 = 0 +33:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:8/0/physics_layer_0/angular_velocity = 0.0 +34:8/0 = 0 +34:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:8/0/physics_layer_0/angular_velocity = 0.0 +35:8/0 = 0 +35:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:8/0/physics_layer_0/angular_velocity = 0.0 +36:8/0 = 0 +36:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:8/0/physics_layer_0/angular_velocity = 0.0 +37:8/0 = 0 +37:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:8/0/physics_layer_0/angular_velocity = 0.0 +38:8/0 = 0 +38:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:8/0/physics_layer_0/angular_velocity = 0.0 +39:8/0 = 0 +39:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:8/0/physics_layer_0/angular_velocity = 0.0 +40:8/0 = 0 +40:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:8/0/physics_layer_0/angular_velocity = 0.0 +41:8/0 = 0 +41:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:8/0/physics_layer_0/angular_velocity = 0.0 +42:8/0 = 0 +42:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:8/0/physics_layer_0/angular_velocity = 0.0 +43:8/0 = 0 +43:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:8/0/physics_layer_0/angular_velocity = 0.0 +44:8/0 = 0 +44:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:8/0/physics_layer_0/angular_velocity = 0.0 +45:8/0 = 0 +45:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:8/0/physics_layer_0/angular_velocity = 0.0 +46:8/0 = 0 +46:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:8/0/physics_layer_0/angular_velocity = 0.0 +47:8/0 = 0 +47:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:8/0/physics_layer_0/angular_velocity = 0.0 +48:8/0 = 0 +48:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:8/0/physics_layer_0/angular_velocity = 0.0 +0:9/0 = 0 +0:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:9/0/physics_layer_0/angular_velocity = 0.0 +1:9/0 = 0 +1:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:9/0/physics_layer_0/angular_velocity = 0.0 +2:9/0 = 0 +2:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:9/0/physics_layer_0/angular_velocity = 0.0 +3:9/0 = 0 +3:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:9/0/physics_layer_0/angular_velocity = 0.0 +4:9/0 = 0 +4:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:9/0/physics_layer_0/angular_velocity = 0.0 +5:9/0 = 0 +5:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:9/0/physics_layer_0/angular_velocity = 0.0 +6:9/0 = 0 +6:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:9/0/physics_layer_0/angular_velocity = 0.0 +7:9/0 = 0 +7:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:9/0/physics_layer_0/angular_velocity = 0.0 +8:9/0 = 0 +8:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:9/0/physics_layer_0/angular_velocity = 0.0 +9:9/0 = 0 +9:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:9/0/physics_layer_0/angular_velocity = 0.0 +10:9/0 = 0 +10:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:9/0/physics_layer_0/angular_velocity = 0.0 +11:9/0 = 0 +11:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:9/0/physics_layer_0/angular_velocity = 0.0 +12:9/0 = 0 +12:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:9/0/physics_layer_0/angular_velocity = 0.0 +13:9/0 = 0 +13:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:9/0/physics_layer_0/angular_velocity = 0.0 +14:9/0 = 0 +14:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:9/0/physics_layer_0/angular_velocity = 0.0 +15:9/0 = 0 +15:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:9/0/physics_layer_0/angular_velocity = 0.0 +16:9/0 = 0 +16:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:9/0/physics_layer_0/angular_velocity = 0.0 +17:9/0 = 0 +17:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:9/0/physics_layer_0/angular_velocity = 0.0 +18:9/0 = 0 +18:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:9/0/physics_layer_0/angular_velocity = 0.0 +19:9/0 = 0 +19:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:9/0/physics_layer_0/angular_velocity = 0.0 +20:9/0 = 0 +20:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:9/0/physics_layer_0/angular_velocity = 0.0 +21:9/0 = 0 +21:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:9/0/physics_layer_0/angular_velocity = 0.0 +22:9/0 = 0 +22:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:9/0/physics_layer_0/angular_velocity = 0.0 +23:9/0 = 0 +23:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:9/0/physics_layer_0/angular_velocity = 0.0 +24:9/0 = 0 +24:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:9/0/physics_layer_0/angular_velocity = 0.0 +25:9/0 = 0 +25:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:9/0/physics_layer_0/angular_velocity = 0.0 +26:9/0 = 0 +26:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:9/0/physics_layer_0/angular_velocity = 0.0 +27:9/0 = 0 +27:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:9/0/physics_layer_0/angular_velocity = 0.0 +28:9/0 = 0 +28:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:9/0/physics_layer_0/angular_velocity = 0.0 +29:9/0 = 0 +29:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:9/0/physics_layer_0/angular_velocity = 0.0 +30:9/0 = 0 +30:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:9/0/physics_layer_0/angular_velocity = 0.0 +31:9/0 = 0 +31:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:9/0/physics_layer_0/angular_velocity = 0.0 +32:9/0 = 0 +32:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:9/0/physics_layer_0/angular_velocity = 0.0 +33:9/0 = 0 +33:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:9/0/physics_layer_0/angular_velocity = 0.0 +34:9/0 = 0 +34:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:9/0/physics_layer_0/angular_velocity = 0.0 +35:9/0 = 0 +35:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:9/0/physics_layer_0/angular_velocity = 0.0 +36:9/0 = 0 +36:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:9/0/physics_layer_0/angular_velocity = 0.0 +37:9/0 = 0 +37:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:9/0/physics_layer_0/angular_velocity = 0.0 +38:9/0 = 0 +38:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:9/0/physics_layer_0/angular_velocity = 0.0 +39:9/0 = 0 +39:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:9/0/physics_layer_0/angular_velocity = 0.0 +40:9/0 = 0 +40:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:9/0/physics_layer_0/angular_velocity = 0.0 +41:9/0 = 0 +41:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:9/0/physics_layer_0/angular_velocity = 0.0 +42:9/0 = 0 +42:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:9/0/physics_layer_0/angular_velocity = 0.0 +43:9/0 = 0 +43:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:9/0/physics_layer_0/angular_velocity = 0.0 +44:9/0 = 0 +44:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:9/0/physics_layer_0/angular_velocity = 0.0 +45:9/0 = 0 +45:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:9/0/physics_layer_0/angular_velocity = 0.0 +46:9/0 = 0 +46:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:9/0/physics_layer_0/angular_velocity = 0.0 +47:9/0 = 0 +47:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:9/0/physics_layer_0/angular_velocity = 0.0 +48:9/0 = 0 +48:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:9/0/physics_layer_0/angular_velocity = 0.0 +0:10/0 = 0 +0:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:10/0/physics_layer_0/angular_velocity = 0.0 +1:10/0 = 0 +1:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:10/0/physics_layer_0/angular_velocity = 0.0 +2:10/0 = 0 +2:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:10/0/physics_layer_0/angular_velocity = 0.0 +3:10/0 = 0 +3:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:10/0/physics_layer_0/angular_velocity = 0.0 +4:10/0 = 0 +4:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:10/0/physics_layer_0/angular_velocity = 0.0 +5:10/0 = 0 +5:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:10/0/physics_layer_0/angular_velocity = 0.0 +6:10/0 = 0 +6:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:10/0/physics_layer_0/angular_velocity = 0.0 +7:10/0 = 0 +7:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:10/0/physics_layer_0/angular_velocity = 0.0 +8:10/0 = 0 +8:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:10/0/physics_layer_0/angular_velocity = 0.0 +9:10/0 = 0 +9:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:10/0/physics_layer_0/angular_velocity = 0.0 +10:10/0 = 0 +10:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:10/0/physics_layer_0/angular_velocity = 0.0 +11:10/0 = 0 +11:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:10/0/physics_layer_0/angular_velocity = 0.0 +12:10/0 = 0 +12:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:10/0/physics_layer_0/angular_velocity = 0.0 +13:10/0 = 0 +13:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:10/0/physics_layer_0/angular_velocity = 0.0 +14:10/0 = 0 +14:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:10/0/physics_layer_0/angular_velocity = 0.0 +15:10/0 = 0 +15:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:10/0/physics_layer_0/angular_velocity = 0.0 +16:10/0 = 0 +16:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:10/0/physics_layer_0/angular_velocity = 0.0 +17:10/0 = 0 +17:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:10/0/physics_layer_0/angular_velocity = 0.0 +18:10/0 = 0 +18:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:10/0/physics_layer_0/angular_velocity = 0.0 +19:10/0 = 0 +19:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:10/0/physics_layer_0/angular_velocity = 0.0 +20:10/0 = 0 +20:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:10/0/physics_layer_0/angular_velocity = 0.0 +21:10/0 = 0 +21:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:10/0/physics_layer_0/angular_velocity = 0.0 +22:10/0 = 0 +22:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:10/0/physics_layer_0/angular_velocity = 0.0 +23:10/0 = 0 +23:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:10/0/physics_layer_0/angular_velocity = 0.0 +24:10/0 = 0 +24:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:10/0/physics_layer_0/angular_velocity = 0.0 +25:10/0 = 0 +25:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:10/0/physics_layer_0/angular_velocity = 0.0 +26:10/0 = 0 +26:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:10/0/physics_layer_0/angular_velocity = 0.0 +27:10/0 = 0 +27:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:10/0/physics_layer_0/angular_velocity = 0.0 +28:10/0 = 0 +28:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:10/0/physics_layer_0/angular_velocity = 0.0 +29:10/0 = 0 +29:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:10/0/physics_layer_0/angular_velocity = 0.0 +30:10/0 = 0 +30:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:10/0/physics_layer_0/angular_velocity = 0.0 +31:10/0 = 0 +31:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:10/0/physics_layer_0/angular_velocity = 0.0 +32:10/0 = 0 +32:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:10/0/physics_layer_0/angular_velocity = 0.0 +33:10/0 = 0 +33:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:10/0/physics_layer_0/angular_velocity = 0.0 +34:10/0 = 0 +34:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:10/0/physics_layer_0/angular_velocity = 0.0 +35:10/0 = 0 +35:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:10/0/physics_layer_0/angular_velocity = 0.0 +36:10/0 = 0 +36:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:10/0/physics_layer_0/angular_velocity = 0.0 +37:10/0 = 0 +37:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:10/0/physics_layer_0/angular_velocity = 0.0 +38:10/0 = 0 +38:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:10/0/physics_layer_0/angular_velocity = 0.0 +39:10/0 = 0 +39:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:10/0/physics_layer_0/angular_velocity = 0.0 +40:10/0 = 0 +40:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:10/0/physics_layer_0/angular_velocity = 0.0 +41:10/0 = 0 +41:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:10/0/physics_layer_0/angular_velocity = 0.0 +42:10/0 = 0 +42:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:10/0/physics_layer_0/angular_velocity = 0.0 +43:10/0 = 0 +43:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:10/0/physics_layer_0/angular_velocity = 0.0 +44:10/0 = 0 +44:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:10/0/physics_layer_0/angular_velocity = 0.0 +45:10/0 = 0 +45:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:10/0/physics_layer_0/angular_velocity = 0.0 +46:10/0 = 0 +46:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:10/0/physics_layer_0/angular_velocity = 0.0 +47:10/0 = 0 +47:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:10/0/physics_layer_0/angular_velocity = 0.0 +48:10/0 = 0 +48:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:10/0/physics_layer_0/angular_velocity = 0.0 +0:11/0 = 0 +0:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:11/0/physics_layer_0/angular_velocity = 0.0 +1:11/0 = 0 +1:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:11/0/physics_layer_0/angular_velocity = 0.0 +2:11/0 = 0 +2:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:11/0/physics_layer_0/angular_velocity = 0.0 +3:11/0 = 0 +3:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:11/0/physics_layer_0/angular_velocity = 0.0 +4:11/0 = 0 +4:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:11/0/physics_layer_0/angular_velocity = 0.0 +5:11/0 = 0 +5:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:11/0/physics_layer_0/angular_velocity = 0.0 +6:11/0 = 0 +6:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:11/0/physics_layer_0/angular_velocity = 0.0 +7:11/0 = 0 +7:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:11/0/physics_layer_0/angular_velocity = 0.0 +8:11/0 = 0 +8:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:11/0/physics_layer_0/angular_velocity = 0.0 +9:11/0 = 0 +9:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:11/0/physics_layer_0/angular_velocity = 0.0 +10:11/0 = 0 +10:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:11/0/physics_layer_0/angular_velocity = 0.0 +11:11/0 = 0 +11:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:11/0/physics_layer_0/angular_velocity = 0.0 +12:11/0 = 0 +12:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:11/0/physics_layer_0/angular_velocity = 0.0 +13:11/0 = 0 +13:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:11/0/physics_layer_0/angular_velocity = 0.0 +14:11/0 = 0 +14:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:11/0/physics_layer_0/angular_velocity = 0.0 +15:11/0 = 0 +15:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:11/0/physics_layer_0/angular_velocity = 0.0 +16:11/0 = 0 +16:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:11/0/physics_layer_0/angular_velocity = 0.0 +17:11/0 = 0 +17:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:11/0/physics_layer_0/angular_velocity = 0.0 +18:11/0 = 0 +18:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:11/0/physics_layer_0/angular_velocity = 0.0 +19:11/0 = 0 +19:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:11/0/physics_layer_0/angular_velocity = 0.0 +20:11/0 = 0 +20:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:11/0/physics_layer_0/angular_velocity = 0.0 +21:11/0 = 0 +21:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:11/0/physics_layer_0/angular_velocity = 0.0 +22:11/0 = 0 +22:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:11/0/physics_layer_0/angular_velocity = 0.0 +23:11/0 = 0 +23:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:11/0/physics_layer_0/angular_velocity = 0.0 +24:11/0 = 0 +24:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:11/0/physics_layer_0/angular_velocity = 0.0 +25:11/0 = 0 +25:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:11/0/physics_layer_0/angular_velocity = 0.0 +26:11/0 = 0 +26:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:11/0/physics_layer_0/angular_velocity = 0.0 +27:11/0 = 0 +27:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:11/0/physics_layer_0/angular_velocity = 0.0 +28:11/0 = 0 +28:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:11/0/physics_layer_0/angular_velocity = 0.0 +29:11/0 = 0 +29:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:11/0/physics_layer_0/angular_velocity = 0.0 +30:11/0 = 0 +30:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:11/0/physics_layer_0/angular_velocity = 0.0 +31:11/0 = 0 +31:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:11/0/physics_layer_0/angular_velocity = 0.0 +32:11/0 = 0 +32:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:11/0/physics_layer_0/angular_velocity = 0.0 +33:11/0 = 0 +33:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:11/0/physics_layer_0/angular_velocity = 0.0 +34:11/0 = 0 +34:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:11/0/physics_layer_0/angular_velocity = 0.0 +35:11/0 = 0 +35:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:11/0/physics_layer_0/angular_velocity = 0.0 +36:11/0 = 0 +36:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:11/0/physics_layer_0/angular_velocity = 0.0 +37:11/0 = 0 +37:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:11/0/physics_layer_0/angular_velocity = 0.0 +38:11/0 = 0 +38:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:11/0/physics_layer_0/angular_velocity = 0.0 +39:11/0 = 0 +39:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:11/0/physics_layer_0/angular_velocity = 0.0 +40:11/0 = 0 +40:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:11/0/physics_layer_0/angular_velocity = 0.0 +41:11/0 = 0 +41:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:11/0/physics_layer_0/angular_velocity = 0.0 +42:11/0 = 0 +42:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:11/0/physics_layer_0/angular_velocity = 0.0 +43:11/0 = 0 +43:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:11/0/physics_layer_0/angular_velocity = 0.0 +44:11/0 = 0 +44:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:11/0/physics_layer_0/angular_velocity = 0.0 +45:11/0 = 0 +45:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:11/0/physics_layer_0/angular_velocity = 0.0 +46:11/0 = 0 +46:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:11/0/physics_layer_0/angular_velocity = 0.0 +47:11/0 = 0 +47:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:11/0/physics_layer_0/angular_velocity = 0.0 +48:11/0 = 0 +48:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:11/0/physics_layer_0/angular_velocity = 0.0 +0:12/0 = 0 +0:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:12/0/physics_layer_0/angular_velocity = 0.0 +1:12/0 = 0 +1:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:12/0/physics_layer_0/angular_velocity = 0.0 +2:12/0 = 0 +2:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:12/0/physics_layer_0/angular_velocity = 0.0 +3:12/0 = 0 +3:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:12/0/physics_layer_0/angular_velocity = 0.0 +4:12/0 = 0 +4:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:12/0/physics_layer_0/angular_velocity = 0.0 +5:12/0 = 0 +5:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:12/0/physics_layer_0/angular_velocity = 0.0 +6:12/0 = 0 +6:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:12/0/physics_layer_0/angular_velocity = 0.0 +7:12/0 = 0 +7:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:12/0/physics_layer_0/angular_velocity = 0.0 +8:12/0 = 0 +8:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:12/0/physics_layer_0/angular_velocity = 0.0 +9:12/0 = 0 +9:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:12/0/physics_layer_0/angular_velocity = 0.0 +10:12/0 = 0 +10:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:12/0/physics_layer_0/angular_velocity = 0.0 +11:12/0 = 0 +11:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:12/0/physics_layer_0/angular_velocity = 0.0 +12:12/0 = 0 +12:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:12/0/physics_layer_0/angular_velocity = 0.0 +13:12/0 = 0 +13:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:12/0/physics_layer_0/angular_velocity = 0.0 +14:12/0 = 0 +14:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:12/0/physics_layer_0/angular_velocity = 0.0 +15:12/0 = 0 +15:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:12/0/physics_layer_0/angular_velocity = 0.0 +16:12/0 = 0 +16:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:12/0/physics_layer_0/angular_velocity = 0.0 +17:12/0 = 0 +17:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:12/0/physics_layer_0/angular_velocity = 0.0 +18:12/0 = 0 +18:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:12/0/physics_layer_0/angular_velocity = 0.0 +19:12/0 = 0 +19:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:12/0/physics_layer_0/angular_velocity = 0.0 +20:12/0 = 0 +20:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:12/0/physics_layer_0/angular_velocity = 0.0 +21:12/0 = 0 +21:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:12/0/physics_layer_0/angular_velocity = 0.0 +22:12/0 = 0 +22:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:12/0/physics_layer_0/angular_velocity = 0.0 +23:12/0 = 0 +23:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:12/0/physics_layer_0/angular_velocity = 0.0 +24:12/0 = 0 +24:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:12/0/physics_layer_0/angular_velocity = 0.0 +25:12/0 = 0 +25:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:12/0/physics_layer_0/angular_velocity = 0.0 +26:12/0 = 0 +26:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:12/0/physics_layer_0/angular_velocity = 0.0 +27:12/0 = 0 +27:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:12/0/physics_layer_0/angular_velocity = 0.0 +28:12/0 = 0 +28:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:12/0/physics_layer_0/angular_velocity = 0.0 +29:12/0 = 0 +29:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:12/0/physics_layer_0/angular_velocity = 0.0 +30:12/0 = 0 +30:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:12/0/physics_layer_0/angular_velocity = 0.0 +31:12/0 = 0 +31:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:12/0/physics_layer_0/angular_velocity = 0.0 +32:12/0 = 0 +32:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:12/0/physics_layer_0/angular_velocity = 0.0 +33:12/0 = 0 +33:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:12/0/physics_layer_0/angular_velocity = 0.0 +34:12/0 = 0 +34:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:12/0/physics_layer_0/angular_velocity = 0.0 +35:12/0 = 0 +35:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:12/0/physics_layer_0/angular_velocity = 0.0 +36:12/0 = 0 +36:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:12/0/physics_layer_0/angular_velocity = 0.0 +37:12/0 = 0 +37:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:12/0/physics_layer_0/angular_velocity = 0.0 +38:12/0 = 0 +38:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:12/0/physics_layer_0/angular_velocity = 0.0 +39:12/0 = 0 +39:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:12/0/physics_layer_0/angular_velocity = 0.0 +40:12/0 = 0 +40:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:12/0/physics_layer_0/angular_velocity = 0.0 +41:12/0 = 0 +41:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:12/0/physics_layer_0/angular_velocity = 0.0 +42:12/0 = 0 +42:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:12/0/physics_layer_0/angular_velocity = 0.0 +43:12/0 = 0 +43:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:12/0/physics_layer_0/angular_velocity = 0.0 +44:12/0 = 0 +44:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:12/0/physics_layer_0/angular_velocity = 0.0 +45:12/0 = 0 +45:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:12/0/physics_layer_0/angular_velocity = 0.0 +46:12/0 = 0 +46:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:12/0/physics_layer_0/angular_velocity = 0.0 +47:12/0 = 0 +47:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:12/0/physics_layer_0/angular_velocity = 0.0 +48:12/0 = 0 +48:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:12/0/physics_layer_0/angular_velocity = 0.0 +0:13/0 = 0 +0:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:13/0/physics_layer_0/angular_velocity = 0.0 +1:13/0 = 0 +1:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:13/0/physics_layer_0/angular_velocity = 0.0 +2:13/0 = 0 +2:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:13/0/physics_layer_0/angular_velocity = 0.0 +3:13/0 = 0 +3:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:13/0/physics_layer_0/angular_velocity = 0.0 +4:13/0 = 0 +4:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:13/0/physics_layer_0/angular_velocity = 0.0 +5:13/0 = 0 +5:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:13/0/physics_layer_0/angular_velocity = 0.0 +6:13/0 = 0 +6:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:13/0/physics_layer_0/angular_velocity = 0.0 +7:13/0 = 0 +7:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:13/0/physics_layer_0/angular_velocity = 0.0 +8:13/0 = 0 +8:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:13/0/physics_layer_0/angular_velocity = 0.0 +9:13/0 = 0 +9:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:13/0/physics_layer_0/angular_velocity = 0.0 +10:13/0 = 0 +10:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:13/0/physics_layer_0/angular_velocity = 0.0 +11:13/0 = 0 +11:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:13/0/physics_layer_0/angular_velocity = 0.0 +12:13/0 = 0 +12:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:13/0/physics_layer_0/angular_velocity = 0.0 +13:13/0 = 0 +13:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:13/0/physics_layer_0/angular_velocity = 0.0 +14:13/0 = 0 +14:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:13/0/physics_layer_0/angular_velocity = 0.0 +15:13/0 = 0 +15:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:13/0/physics_layer_0/angular_velocity = 0.0 +16:13/0 = 0 +16:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:13/0/physics_layer_0/angular_velocity = 0.0 +17:13/0 = 0 +17:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:13/0/physics_layer_0/angular_velocity = 0.0 +18:13/0 = 0 +18:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:13/0/physics_layer_0/angular_velocity = 0.0 +19:13/0 = 0 +19:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:13/0/physics_layer_0/angular_velocity = 0.0 +20:13/0 = 0 +20:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:13/0/physics_layer_0/angular_velocity = 0.0 +21:13/0 = 0 +21:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:13/0/physics_layer_0/angular_velocity = 0.0 +22:13/0 = 0 +22:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:13/0/physics_layer_0/angular_velocity = 0.0 +23:13/0 = 0 +23:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:13/0/physics_layer_0/angular_velocity = 0.0 +24:13/0 = 0 +24:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:13/0/physics_layer_0/angular_velocity = 0.0 +25:13/0 = 0 +25:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:13/0/physics_layer_0/angular_velocity = 0.0 +26:13/0 = 0 +26:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:13/0/physics_layer_0/angular_velocity = 0.0 +27:13/0 = 0 +27:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:13/0/physics_layer_0/angular_velocity = 0.0 +28:13/0 = 0 +28:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:13/0/physics_layer_0/angular_velocity = 0.0 +29:13/0 = 0 +29:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:13/0/physics_layer_0/angular_velocity = 0.0 +30:13/0 = 0 +30:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:13/0/physics_layer_0/angular_velocity = 0.0 +31:13/0 = 0 +31:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:13/0/physics_layer_0/angular_velocity = 0.0 +32:13/0 = 0 +32:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:13/0/physics_layer_0/angular_velocity = 0.0 +33:13/0 = 0 +33:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:13/0/physics_layer_0/angular_velocity = 0.0 +34:13/0 = 0 +34:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:13/0/physics_layer_0/angular_velocity = 0.0 +35:13/0 = 0 +35:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:13/0/physics_layer_0/angular_velocity = 0.0 +36:13/0 = 0 +36:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:13/0/physics_layer_0/angular_velocity = 0.0 +37:13/0 = 0 +37:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:13/0/physics_layer_0/angular_velocity = 0.0 +38:13/0 = 0 +38:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:13/0/physics_layer_0/angular_velocity = 0.0 +39:13/0 = 0 +39:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:13/0/physics_layer_0/angular_velocity = 0.0 +40:13/0 = 0 +40:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:13/0/physics_layer_0/angular_velocity = 0.0 +41:13/0 = 0 +41:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:13/0/physics_layer_0/angular_velocity = 0.0 +42:13/0 = 0 +42:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:13/0/physics_layer_0/angular_velocity = 0.0 +43:13/0 = 0 +43:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:13/0/physics_layer_0/angular_velocity = 0.0 +44:13/0 = 0 +44:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:13/0/physics_layer_0/angular_velocity = 0.0 +45:13/0 = 0 +45:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:13/0/physics_layer_0/angular_velocity = 0.0 +46:13/0 = 0 +46:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:13/0/physics_layer_0/angular_velocity = 0.0 +47:13/0 = 0 +47:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:13/0/physics_layer_0/angular_velocity = 0.0 +48:13/0 = 0 +48:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:13/0/physics_layer_0/angular_velocity = 0.0 +0:14/0 = 0 +0:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:14/0/physics_layer_0/angular_velocity = 0.0 +1:14/0 = 0 +1:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:14/0/physics_layer_0/angular_velocity = 0.0 +2:14/0 = 0 +2:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:14/0/physics_layer_0/angular_velocity = 0.0 +3:14/0 = 0 +3:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:14/0/physics_layer_0/angular_velocity = 0.0 +4:14/0 = 0 +4:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:14/0/physics_layer_0/angular_velocity = 0.0 +5:14/0 = 0 +5:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:14/0/physics_layer_0/angular_velocity = 0.0 +6:14/0 = 0 +6:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:14/0/physics_layer_0/angular_velocity = 0.0 +7:14/0 = 0 +7:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:14/0/physics_layer_0/angular_velocity = 0.0 +8:14/0 = 0 +8:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:14/0/physics_layer_0/angular_velocity = 0.0 +9:14/0 = 0 +9:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:14/0/physics_layer_0/angular_velocity = 0.0 +10:14/0 = 0 +10:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:14/0/physics_layer_0/angular_velocity = 0.0 +11:14/0 = 0 +11:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:14/0/physics_layer_0/angular_velocity = 0.0 +12:14/0 = 0 +12:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:14/0/physics_layer_0/angular_velocity = 0.0 +13:14/0 = 0 +13:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:14/0/physics_layer_0/angular_velocity = 0.0 +14:14/0 = 0 +14:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:14/0/physics_layer_0/angular_velocity = 0.0 +15:14/0 = 0 +15:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:14/0/physics_layer_0/angular_velocity = 0.0 +16:14/0 = 0 +16:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:14/0/physics_layer_0/angular_velocity = 0.0 +17:14/0 = 0 +17:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:14/0/physics_layer_0/angular_velocity = 0.0 +18:14/0 = 0 +18:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:14/0/physics_layer_0/angular_velocity = 0.0 +19:14/0 = 0 +19:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:14/0/physics_layer_0/angular_velocity = 0.0 +20:14/0 = 0 +20:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:14/0/physics_layer_0/angular_velocity = 0.0 +21:14/0 = 0 +21:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:14/0/physics_layer_0/angular_velocity = 0.0 +22:14/0 = 0 +22:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:14/0/physics_layer_0/angular_velocity = 0.0 +23:14/0 = 0 +23:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:14/0/physics_layer_0/angular_velocity = 0.0 +24:14/0 = 0 +24:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:14/0/physics_layer_0/angular_velocity = 0.0 +25:14/0 = 0 +25:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:14/0/physics_layer_0/angular_velocity = 0.0 +26:14/0 = 0 +26:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:14/0/physics_layer_0/angular_velocity = 0.0 +27:14/0 = 0 +27:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:14/0/physics_layer_0/angular_velocity = 0.0 +28:14/0 = 0 +28:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:14/0/physics_layer_0/angular_velocity = 0.0 +29:14/0 = 0 +29:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:14/0/physics_layer_0/angular_velocity = 0.0 +30:14/0 = 0 +30:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:14/0/physics_layer_0/angular_velocity = 0.0 +31:14/0 = 0 +31:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:14/0/physics_layer_0/angular_velocity = 0.0 +32:14/0 = 0 +32:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:14/0/physics_layer_0/angular_velocity = 0.0 +33:14/0 = 0 +33:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:14/0/physics_layer_0/angular_velocity = 0.0 +34:14/0 = 0 +34:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:14/0/physics_layer_0/angular_velocity = 0.0 +35:14/0 = 0 +35:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:14/0/physics_layer_0/angular_velocity = 0.0 +36:14/0 = 0 +36:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:14/0/physics_layer_0/angular_velocity = 0.0 +37:14/0 = 0 +37:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:14/0/physics_layer_0/angular_velocity = 0.0 +38:14/0 = 0 +38:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:14/0/physics_layer_0/angular_velocity = 0.0 +39:14/0 = 0 +39:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:14/0/physics_layer_0/angular_velocity = 0.0 +40:14/0 = 0 +40:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:14/0/physics_layer_0/angular_velocity = 0.0 +41:14/0 = 0 +41:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:14/0/physics_layer_0/angular_velocity = 0.0 +42:14/0 = 0 +42:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:14/0/physics_layer_0/angular_velocity = 0.0 +43:14/0 = 0 +43:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:14/0/physics_layer_0/angular_velocity = 0.0 +44:14/0 = 0 +44:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:14/0/physics_layer_0/angular_velocity = 0.0 +45:14/0 = 0 +45:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:14/0/physics_layer_0/angular_velocity = 0.0 +46:14/0 = 0 +46:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:14/0/physics_layer_0/angular_velocity = 0.0 +47:14/0 = 0 +47:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:14/0/physics_layer_0/angular_velocity = 0.0 +48:14/0 = 0 +48:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:14/0/physics_layer_0/angular_velocity = 0.0 +0:15/0 = 0 +0:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:15/0/physics_layer_0/angular_velocity = 0.0 +1:15/0 = 0 +1:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:15/0/physics_layer_0/angular_velocity = 0.0 +2:15/0 = 0 +2:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:15/0/physics_layer_0/angular_velocity = 0.0 +3:15/0 = 0 +3:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:15/0/physics_layer_0/angular_velocity = 0.0 +4:15/0 = 0 +4:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:15/0/physics_layer_0/angular_velocity = 0.0 +5:15/0 = 0 +5:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:15/0/physics_layer_0/angular_velocity = 0.0 +6:15/0 = 0 +6:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:15/0/physics_layer_0/angular_velocity = 0.0 +7:15/0 = 0 +7:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:15/0/physics_layer_0/angular_velocity = 0.0 +8:15/0 = 0 +8:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:15/0/physics_layer_0/angular_velocity = 0.0 +9:15/0 = 0 +9:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:15/0/physics_layer_0/angular_velocity = 0.0 +10:15/0 = 0 +10:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:15/0/physics_layer_0/angular_velocity = 0.0 +11:15/0 = 0 +11:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:15/0/physics_layer_0/angular_velocity = 0.0 +12:15/0 = 0 +12:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:15/0/physics_layer_0/angular_velocity = 0.0 +13:15/0 = 0 +13:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:15/0/physics_layer_0/angular_velocity = 0.0 +14:15/0 = 0 +14:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:15/0/physics_layer_0/angular_velocity = 0.0 +15:15/0 = 0 +15:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:15/0/physics_layer_0/angular_velocity = 0.0 +16:15/0 = 0 +16:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:15/0/physics_layer_0/angular_velocity = 0.0 +17:15/0 = 0 +17:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:15/0/physics_layer_0/angular_velocity = 0.0 +18:15/0 = 0 +18:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:15/0/physics_layer_0/angular_velocity = 0.0 +19:15/0 = 0 +19:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:15/0/physics_layer_0/angular_velocity = 0.0 +20:15/0 = 0 +20:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:15/0/physics_layer_0/angular_velocity = 0.0 +21:15/0 = 0 +21:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:15/0/physics_layer_0/angular_velocity = 0.0 +22:15/0 = 0 +22:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:15/0/physics_layer_0/angular_velocity = 0.0 +23:15/0 = 0 +23:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:15/0/physics_layer_0/angular_velocity = 0.0 +24:15/0 = 0 +24:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:15/0/physics_layer_0/angular_velocity = 0.0 +25:15/0 = 0 +25:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:15/0/physics_layer_0/angular_velocity = 0.0 +26:15/0 = 0 +26:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:15/0/physics_layer_0/angular_velocity = 0.0 +27:15/0 = 0 +27:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:15/0/physics_layer_0/angular_velocity = 0.0 +28:15/0 = 0 +28:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:15/0/physics_layer_0/angular_velocity = 0.0 +29:15/0 = 0 +29:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:15/0/physics_layer_0/angular_velocity = 0.0 +30:15/0 = 0 +30:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:15/0/physics_layer_0/angular_velocity = 0.0 +31:15/0 = 0 +31:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:15/0/physics_layer_0/angular_velocity = 0.0 +32:15/0 = 0 +32:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:15/0/physics_layer_0/angular_velocity = 0.0 +33:15/0 = 0 +33:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:15/0/physics_layer_0/angular_velocity = 0.0 +34:15/0 = 0 +34:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:15/0/physics_layer_0/angular_velocity = 0.0 +35:15/0 = 0 +35:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:15/0/physics_layer_0/angular_velocity = 0.0 +36:15/0 = 0 +36:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:15/0/physics_layer_0/angular_velocity = 0.0 +37:15/0 = 0 +37:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:15/0/physics_layer_0/angular_velocity = 0.0 +38:15/0 = 0 +38:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:15/0/physics_layer_0/angular_velocity = 0.0 +39:15/0 = 0 +39:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:15/0/physics_layer_0/angular_velocity = 0.0 +40:15/0 = 0 +40:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:15/0/physics_layer_0/angular_velocity = 0.0 +41:15/0 = 0 +41:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:15/0/physics_layer_0/angular_velocity = 0.0 +42:15/0 = 0 +42:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:15/0/physics_layer_0/angular_velocity = 0.0 +43:15/0 = 0 +43:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:15/0/physics_layer_0/angular_velocity = 0.0 +44:15/0 = 0 +44:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:15/0/physics_layer_0/angular_velocity = 0.0 +45:15/0 = 0 +45:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:15/0/physics_layer_0/angular_velocity = 0.0 +46:15/0 = 0 +46:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:15/0/physics_layer_0/angular_velocity = 0.0 +47:15/0 = 0 +47:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:15/0/physics_layer_0/angular_velocity = 0.0 +48:15/0 = 0 +48:15/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:15/0/physics_layer_0/angular_velocity = 0.0 +0:16/0 = 0 +0:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:16/0/physics_layer_0/angular_velocity = 0.0 +1:16/0 = 0 +1:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:16/0/physics_layer_0/angular_velocity = 0.0 +2:16/0 = 0 +2:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:16/0/physics_layer_0/angular_velocity = 0.0 +3:16/0 = 0 +3:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:16/0/physics_layer_0/angular_velocity = 0.0 +4:16/0 = 0 +4:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:16/0/physics_layer_0/angular_velocity = 0.0 +5:16/0 = 0 +5:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:16/0/physics_layer_0/angular_velocity = 0.0 +6:16/0 = 0 +6:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:16/0/physics_layer_0/angular_velocity = 0.0 +7:16/0 = 0 +7:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:16/0/physics_layer_0/angular_velocity = 0.0 +8:16/0 = 0 +8:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:16/0/physics_layer_0/angular_velocity = 0.0 +9:16/0 = 0 +9:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:16/0/physics_layer_0/angular_velocity = 0.0 +10:16/0 = 0 +10:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:16/0/physics_layer_0/angular_velocity = 0.0 +11:16/0 = 0 +11:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:16/0/physics_layer_0/angular_velocity = 0.0 +12:16/0 = 0 +12:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:16/0/physics_layer_0/angular_velocity = 0.0 +13:16/0 = 0 +13:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:16/0/physics_layer_0/angular_velocity = 0.0 +14:16/0 = 0 +14:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:16/0/physics_layer_0/angular_velocity = 0.0 +15:16/0 = 0 +15:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:16/0/physics_layer_0/angular_velocity = 0.0 +16:16/0 = 0 +16:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:16/0/physics_layer_0/angular_velocity = 0.0 +17:16/0 = 0 +17:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:16/0/physics_layer_0/angular_velocity = 0.0 +18:16/0 = 0 +18:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:16/0/physics_layer_0/angular_velocity = 0.0 +19:16/0 = 0 +19:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:16/0/physics_layer_0/angular_velocity = 0.0 +20:16/0 = 0 +20:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:16/0/physics_layer_0/angular_velocity = 0.0 +21:16/0 = 0 +21:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:16/0/physics_layer_0/angular_velocity = 0.0 +22:16/0 = 0 +22:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:16/0/physics_layer_0/angular_velocity = 0.0 +23:16/0 = 0 +23:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:16/0/physics_layer_0/angular_velocity = 0.0 +24:16/0 = 0 +24:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:16/0/physics_layer_0/angular_velocity = 0.0 +25:16/0 = 0 +25:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:16/0/physics_layer_0/angular_velocity = 0.0 +26:16/0 = 0 +26:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:16/0/physics_layer_0/angular_velocity = 0.0 +27:16/0 = 0 +27:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:16/0/physics_layer_0/angular_velocity = 0.0 +28:16/0 = 0 +28:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:16/0/physics_layer_0/angular_velocity = 0.0 +29:16/0 = 0 +29:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:16/0/physics_layer_0/angular_velocity = 0.0 +30:16/0 = 0 +30:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:16/0/physics_layer_0/angular_velocity = 0.0 +31:16/0 = 0 +31:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:16/0/physics_layer_0/angular_velocity = 0.0 +32:16/0 = 0 +32:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:16/0/physics_layer_0/angular_velocity = 0.0 +33:16/0 = 0 +33:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:16/0/physics_layer_0/angular_velocity = 0.0 +34:16/0 = 0 +34:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:16/0/physics_layer_0/angular_velocity = 0.0 +35:16/0 = 0 +35:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:16/0/physics_layer_0/angular_velocity = 0.0 +36:16/0 = 0 +36:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:16/0/physics_layer_0/angular_velocity = 0.0 +37:16/0 = 0 +37:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:16/0/physics_layer_0/angular_velocity = 0.0 +38:16/0 = 0 +38:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:16/0/physics_layer_0/angular_velocity = 0.0 +39:16/0 = 0 +39:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:16/0/physics_layer_0/angular_velocity = 0.0 +40:16/0 = 0 +40:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:16/0/physics_layer_0/angular_velocity = 0.0 +41:16/0 = 0 +41:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:16/0/physics_layer_0/angular_velocity = 0.0 +42:16/0 = 0 +42:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:16/0/physics_layer_0/angular_velocity = 0.0 +43:16/0 = 0 +43:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:16/0/physics_layer_0/angular_velocity = 0.0 +44:16/0 = 0 +44:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:16/0/physics_layer_0/angular_velocity = 0.0 +45:16/0 = 0 +45:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:16/0/physics_layer_0/angular_velocity = 0.0 +46:16/0 = 0 +46:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:16/0/physics_layer_0/angular_velocity = 0.0 +47:16/0 = 0 +47:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:16/0/physics_layer_0/angular_velocity = 0.0 +48:16/0 = 0 +48:16/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:16/0/physics_layer_0/angular_velocity = 0.0 +0:17/0 = 0 +0:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:17/0/physics_layer_0/angular_velocity = 0.0 +1:17/0 = 0 +1:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:17/0/physics_layer_0/angular_velocity = 0.0 +2:17/0 = 0 +2:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:17/0/physics_layer_0/angular_velocity = 0.0 +3:17/0 = 0 +3:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:17/0/physics_layer_0/angular_velocity = 0.0 +4:17/0 = 0 +4:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:17/0/physics_layer_0/angular_velocity = 0.0 +5:17/0 = 0 +5:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:17/0/physics_layer_0/angular_velocity = 0.0 +6:17/0 = 0 +6:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:17/0/physics_layer_0/angular_velocity = 0.0 +7:17/0 = 0 +7:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:17/0/physics_layer_0/angular_velocity = 0.0 +8:17/0 = 0 +8:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:17/0/physics_layer_0/angular_velocity = 0.0 +9:17/0 = 0 +9:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:17/0/physics_layer_0/angular_velocity = 0.0 +10:17/0 = 0 +10:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:17/0/physics_layer_0/angular_velocity = 0.0 +11:17/0 = 0 +11:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:17/0/physics_layer_0/angular_velocity = 0.0 +12:17/0 = 0 +12:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:17/0/physics_layer_0/angular_velocity = 0.0 +13:17/0 = 0 +13:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:17/0/physics_layer_0/angular_velocity = 0.0 +14:17/0 = 0 +14:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:17/0/physics_layer_0/angular_velocity = 0.0 +15:17/0 = 0 +15:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:17/0/physics_layer_0/angular_velocity = 0.0 +16:17/0 = 0 +16:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:17/0/physics_layer_0/angular_velocity = 0.0 +17:17/0 = 0 +17:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:17/0/physics_layer_0/angular_velocity = 0.0 +18:17/0 = 0 +18:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:17/0/physics_layer_0/angular_velocity = 0.0 +19:17/0 = 0 +19:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:17/0/physics_layer_0/angular_velocity = 0.0 +20:17/0 = 0 +20:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:17/0/physics_layer_0/angular_velocity = 0.0 +21:17/0 = 0 +21:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:17/0/physics_layer_0/angular_velocity = 0.0 +22:17/0 = 0 +22:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:17/0/physics_layer_0/angular_velocity = 0.0 +23:17/0 = 0 +23:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:17/0/physics_layer_0/angular_velocity = 0.0 +24:17/0 = 0 +24:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:17/0/physics_layer_0/angular_velocity = 0.0 +25:17/0 = 0 +25:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:17/0/physics_layer_0/angular_velocity = 0.0 +26:17/0 = 0 +26:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:17/0/physics_layer_0/angular_velocity = 0.0 +27:17/0 = 0 +27:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:17/0/physics_layer_0/angular_velocity = 0.0 +28:17/0 = 0 +28:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:17/0/physics_layer_0/angular_velocity = 0.0 +29:17/0 = 0 +29:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:17/0/physics_layer_0/angular_velocity = 0.0 +30:17/0 = 0 +30:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:17/0/physics_layer_0/angular_velocity = 0.0 +31:17/0 = 0 +31:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:17/0/physics_layer_0/angular_velocity = 0.0 +32:17/0 = 0 +32:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:17/0/physics_layer_0/angular_velocity = 0.0 +33:17/0 = 0 +33:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:17/0/physics_layer_0/angular_velocity = 0.0 +34:17/0 = 0 +34:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:17/0/physics_layer_0/angular_velocity = 0.0 +35:17/0 = 0 +35:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:17/0/physics_layer_0/angular_velocity = 0.0 +36:17/0 = 0 +36:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:17/0/physics_layer_0/angular_velocity = 0.0 +37:17/0 = 0 +37:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:17/0/physics_layer_0/angular_velocity = 0.0 +38:17/0 = 0 +38:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:17/0/physics_layer_0/angular_velocity = 0.0 +39:17/0 = 0 +39:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:17/0/physics_layer_0/angular_velocity = 0.0 +40:17/0 = 0 +40:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:17/0/physics_layer_0/angular_velocity = 0.0 +41:17/0 = 0 +41:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:17/0/physics_layer_0/angular_velocity = 0.0 +42:17/0 = 0 +42:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:17/0/physics_layer_0/angular_velocity = 0.0 +43:17/0 = 0 +43:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:17/0/physics_layer_0/angular_velocity = 0.0 +44:17/0 = 0 +44:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:17/0/physics_layer_0/angular_velocity = 0.0 +45:17/0 = 0 +45:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:17/0/physics_layer_0/angular_velocity = 0.0 +46:17/0 = 0 +46:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:17/0/physics_layer_0/angular_velocity = 0.0 +47:17/0 = 0 +47:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:17/0/physics_layer_0/angular_velocity = 0.0 +48:17/0 = 0 +48:17/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:17/0/physics_layer_0/angular_velocity = 0.0 +0:18/0 = 0 +0:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:18/0/physics_layer_0/angular_velocity = 0.0 +1:18/0 = 0 +1:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:18/0/physics_layer_0/angular_velocity = 0.0 +2:18/0 = 0 +2:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:18/0/physics_layer_0/angular_velocity = 0.0 +3:18/0 = 0 +3:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:18/0/physics_layer_0/angular_velocity = 0.0 +4:18/0 = 0 +4:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:18/0/physics_layer_0/angular_velocity = 0.0 +4:18/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +5:18/0 = 0 +5:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:18/0/physics_layer_0/angular_velocity = 0.0 +6:18/0 = 0 +6:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:18/0/physics_layer_0/angular_velocity = 0.0 +7:18/0 = 0 +7:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:18/0/physics_layer_0/angular_velocity = 0.0 +8:18/0 = 0 +8:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:18/0/physics_layer_0/angular_velocity = 0.0 +9:18/0 = 0 +9:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:18/0/physics_layer_0/angular_velocity = 0.0 +10:18/0 = 0 +10:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:18/0/physics_layer_0/angular_velocity = 0.0 +11:18/0 = 0 +11:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:18/0/physics_layer_0/angular_velocity = 0.0 +12:18/0 = 0 +12:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:18/0/physics_layer_0/angular_velocity = 0.0 +13:18/0 = 0 +13:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:18/0/physics_layer_0/angular_velocity = 0.0 +14:18/0 = 0 +14:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:18/0/physics_layer_0/angular_velocity = 0.0 +15:18/0 = 0 +15:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:18/0/physics_layer_0/angular_velocity = 0.0 +16:18/0 = 0 +16:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:18/0/physics_layer_0/angular_velocity = 0.0 +17:18/0 = 0 +17:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:18/0/physics_layer_0/angular_velocity = 0.0 +18:18/0 = 0 +18:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:18/0/physics_layer_0/angular_velocity = 0.0 +19:18/0 = 0 +19:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:18/0/physics_layer_0/angular_velocity = 0.0 +20:18/0 = 0 +20:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:18/0/physics_layer_0/angular_velocity = 0.0 +21:18/0 = 0 +21:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:18/0/physics_layer_0/angular_velocity = 0.0 +22:18/0 = 0 +22:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:18/0/physics_layer_0/angular_velocity = 0.0 +23:18/0 = 0 +23:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:18/0/physics_layer_0/angular_velocity = 0.0 +24:18/0 = 0 +24:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:18/0/physics_layer_0/angular_velocity = 0.0 +25:18/0 = 0 +25:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:18/0/physics_layer_0/angular_velocity = 0.0 +26:18/0 = 0 +26:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:18/0/physics_layer_0/angular_velocity = 0.0 +27:18/0 = 0 +27:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:18/0/physics_layer_0/angular_velocity = 0.0 +28:18/0 = 0 +28:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:18/0/physics_layer_0/angular_velocity = 0.0 +29:18/0 = 0 +29:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:18/0/physics_layer_0/angular_velocity = 0.0 +30:18/0 = 0 +30:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:18/0/physics_layer_0/angular_velocity = 0.0 +31:18/0 = 0 +31:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:18/0/physics_layer_0/angular_velocity = 0.0 +32:18/0 = 0 +32:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:18/0/physics_layer_0/angular_velocity = 0.0 +33:18/0 = 0 +33:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:18/0/physics_layer_0/angular_velocity = 0.0 +34:18/0 = 0 +34:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:18/0/physics_layer_0/angular_velocity = 0.0 +35:18/0 = 0 +35:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:18/0/physics_layer_0/angular_velocity = 0.0 +36:18/0 = 0 +36:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:18/0/physics_layer_0/angular_velocity = 0.0 +37:18/0 = 0 +37:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:18/0/physics_layer_0/angular_velocity = 0.0 +38:18/0 = 0 +38:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:18/0/physics_layer_0/angular_velocity = 0.0 +39:18/0 = 0 +39:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:18/0/physics_layer_0/angular_velocity = 0.0 +40:18/0 = 0 +40:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:18/0/physics_layer_0/angular_velocity = 0.0 +41:18/0 = 0 +41:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:18/0/physics_layer_0/angular_velocity = 0.0 +42:18/0 = 0 +42:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:18/0/physics_layer_0/angular_velocity = 0.0 +43:18/0 = 0 +43:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:18/0/physics_layer_0/angular_velocity = 0.0 +44:18/0 = 0 +44:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:18/0/physics_layer_0/angular_velocity = 0.0 +45:18/0 = 0 +45:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:18/0/physics_layer_0/angular_velocity = 0.0 +46:18/0 = 0 +46:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:18/0/physics_layer_0/angular_velocity = 0.0 +47:18/0 = 0 +47:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:18/0/physics_layer_0/angular_velocity = 0.0 +48:18/0 = 0 +48:18/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:18/0/physics_layer_0/angular_velocity = 0.0 +0:19/0 = 0 +0:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:19/0/physics_layer_0/angular_velocity = 0.0 +1:19/0 = 0 +1:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:19/0/physics_layer_0/angular_velocity = 0.0 +2:19/0 = 0 +2:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:19/0/physics_layer_0/angular_velocity = 0.0 +3:19/0 = 0 +3:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:19/0/physics_layer_0/angular_velocity = 0.0 +4:19/0 = 0 +4:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:19/0/physics_layer_0/angular_velocity = 0.0 +5:19/0 = 0 +5:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:19/0/physics_layer_0/angular_velocity = 0.0 +6:19/0 = 0 +6:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:19/0/physics_layer_0/angular_velocity = 0.0 +7:19/0 = 0 +7:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:19/0/physics_layer_0/angular_velocity = 0.0 +8:19/0 = 0 +8:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:19/0/physics_layer_0/angular_velocity = 0.0 +9:19/0 = 0 +9:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:19/0/physics_layer_0/angular_velocity = 0.0 +10:19/0 = 0 +10:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:19/0/physics_layer_0/angular_velocity = 0.0 +11:19/0 = 0 +11:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:19/0/physics_layer_0/angular_velocity = 0.0 +12:19/0 = 0 +12:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:19/0/physics_layer_0/angular_velocity = 0.0 +13:19/0 = 0 +13:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:19/0/physics_layer_0/angular_velocity = 0.0 +14:19/0 = 0 +14:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:19/0/physics_layer_0/angular_velocity = 0.0 +15:19/0 = 0 +15:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:19/0/physics_layer_0/angular_velocity = 0.0 +16:19/0 = 0 +16:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:19/0/physics_layer_0/angular_velocity = 0.0 +17:19/0 = 0 +17:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:19/0/physics_layer_0/angular_velocity = 0.0 +18:19/0 = 0 +18:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:19/0/physics_layer_0/angular_velocity = 0.0 +19:19/0 = 0 +19:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:19/0/physics_layer_0/angular_velocity = 0.0 +20:19/0 = 0 +20:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:19/0/physics_layer_0/angular_velocity = 0.0 +21:19/0 = 0 +21:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:19/0/physics_layer_0/angular_velocity = 0.0 +22:19/0 = 0 +22:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:19/0/physics_layer_0/angular_velocity = 0.0 +23:19/0 = 0 +23:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:19/0/physics_layer_0/angular_velocity = 0.0 +24:19/0 = 0 +24:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:19/0/physics_layer_0/angular_velocity = 0.0 +25:19/0 = 0 +25:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:19/0/physics_layer_0/angular_velocity = 0.0 +26:19/0 = 0 +26:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:19/0/physics_layer_0/angular_velocity = 0.0 +27:19/0 = 0 +27:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:19/0/physics_layer_0/angular_velocity = 0.0 +28:19/0 = 0 +28:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:19/0/physics_layer_0/angular_velocity = 0.0 +29:19/0 = 0 +29:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:19/0/physics_layer_0/angular_velocity = 0.0 +30:19/0 = 0 +30:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:19/0/physics_layer_0/angular_velocity = 0.0 +31:19/0 = 0 +31:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:19/0/physics_layer_0/angular_velocity = 0.0 +32:19/0 = 0 +32:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:19/0/physics_layer_0/angular_velocity = 0.0 +33:19/0 = 0 +33:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:19/0/physics_layer_0/angular_velocity = 0.0 +34:19/0 = 0 +34:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:19/0/physics_layer_0/angular_velocity = 0.0 +35:19/0 = 0 +35:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:19/0/physics_layer_0/angular_velocity = 0.0 +36:19/0 = 0 +36:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:19/0/physics_layer_0/angular_velocity = 0.0 +37:19/0 = 0 +37:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:19/0/physics_layer_0/angular_velocity = 0.0 +38:19/0 = 0 +38:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:19/0/physics_layer_0/angular_velocity = 0.0 +39:19/0 = 0 +39:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:19/0/physics_layer_0/angular_velocity = 0.0 +40:19/0 = 0 +40:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:19/0/physics_layer_0/angular_velocity = 0.0 +41:19/0 = 0 +41:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:19/0/physics_layer_0/angular_velocity = 0.0 +42:19/0 = 0 +42:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:19/0/physics_layer_0/angular_velocity = 0.0 +43:19/0 = 0 +43:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:19/0/physics_layer_0/angular_velocity = 0.0 +44:19/0 = 0 +44:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:19/0/physics_layer_0/angular_velocity = 0.0 +45:19/0 = 0 +45:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:19/0/physics_layer_0/angular_velocity = 0.0 +46:19/0 = 0 +46:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:19/0/physics_layer_0/angular_velocity = 0.0 +47:19/0 = 0 +47:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:19/0/physics_layer_0/angular_velocity = 0.0 +48:19/0 = 0 +48:19/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:19/0/physics_layer_0/angular_velocity = 0.0 +0:20/0 = 0 +0:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:20/0/physics_layer_0/angular_velocity = 0.0 +1:20/0 = 0 +1:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:20/0/physics_layer_0/angular_velocity = 0.0 +2:20/0 = 0 +2:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:20/0/physics_layer_0/angular_velocity = 0.0 +3:20/0 = 0 +3:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:20/0/physics_layer_0/angular_velocity = 0.0 +4:20/0 = 0 +4:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:20/0/physics_layer_0/angular_velocity = 0.0 +5:20/0 = 0 +5:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:20/0/physics_layer_0/angular_velocity = 0.0 +6:20/0 = 0 +6:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:20/0/physics_layer_0/angular_velocity = 0.0 +7:20/0 = 0 +7:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:20/0/physics_layer_0/angular_velocity = 0.0 +8:20/0 = 0 +8:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:20/0/physics_layer_0/angular_velocity = 0.0 +9:20/0 = 0 +9:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:20/0/physics_layer_0/angular_velocity = 0.0 +10:20/0 = 0 +10:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:20/0/physics_layer_0/angular_velocity = 0.0 +11:20/0 = 0 +11:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:20/0/physics_layer_0/angular_velocity = 0.0 +12:20/0 = 0 +12:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:20/0/physics_layer_0/angular_velocity = 0.0 +13:20/0 = 0 +13:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:20/0/physics_layer_0/angular_velocity = 0.0 +14:20/0 = 0 +14:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:20/0/physics_layer_0/angular_velocity = 0.0 +15:20/0 = 0 +15:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:20/0/physics_layer_0/angular_velocity = 0.0 +16:20/0 = 0 +16:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:20/0/physics_layer_0/angular_velocity = 0.0 +17:20/0 = 0 +17:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:20/0/physics_layer_0/angular_velocity = 0.0 +18:20/0 = 0 +18:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:20/0/physics_layer_0/angular_velocity = 0.0 +19:20/0 = 0 +19:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:20/0/physics_layer_0/angular_velocity = 0.0 +20:20/0 = 0 +20:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:20/0/physics_layer_0/angular_velocity = 0.0 +21:20/0 = 0 +21:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:20/0/physics_layer_0/angular_velocity = 0.0 +22:20/0 = 0 +22:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:20/0/physics_layer_0/angular_velocity = 0.0 +23:20/0 = 0 +23:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:20/0/physics_layer_0/angular_velocity = 0.0 +24:20/0 = 0 +24:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:20/0/physics_layer_0/angular_velocity = 0.0 +25:20/0 = 0 +25:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:20/0/physics_layer_0/angular_velocity = 0.0 +26:20/0 = 0 +26:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:20/0/physics_layer_0/angular_velocity = 0.0 +27:20/0 = 0 +27:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:20/0/physics_layer_0/angular_velocity = 0.0 +28:20/0 = 0 +28:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:20/0/physics_layer_0/angular_velocity = 0.0 +29:20/0 = 0 +29:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:20/0/physics_layer_0/angular_velocity = 0.0 +30:20/0 = 0 +30:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:20/0/physics_layer_0/angular_velocity = 0.0 +31:20/0 = 0 +31:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:20/0/physics_layer_0/angular_velocity = 0.0 +32:20/0 = 0 +32:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:20/0/physics_layer_0/angular_velocity = 0.0 +33:20/0 = 0 +33:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:20/0/physics_layer_0/angular_velocity = 0.0 +34:20/0 = 0 +34:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:20/0/physics_layer_0/angular_velocity = 0.0 +35:20/0 = 0 +35:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:20/0/physics_layer_0/angular_velocity = 0.0 +36:20/0 = 0 +36:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:20/0/physics_layer_0/angular_velocity = 0.0 +37:20/0 = 0 +37:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:20/0/physics_layer_0/angular_velocity = 0.0 +38:20/0 = 0 +38:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:20/0/physics_layer_0/angular_velocity = 0.0 +39:20/0 = 0 +39:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:20/0/physics_layer_0/angular_velocity = 0.0 +40:20/0 = 0 +40:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:20/0/physics_layer_0/angular_velocity = 0.0 +41:20/0 = 0 +41:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:20/0/physics_layer_0/angular_velocity = 0.0 +42:20/0 = 0 +42:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:20/0/physics_layer_0/angular_velocity = 0.0 +43:20/0 = 0 +43:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:20/0/physics_layer_0/angular_velocity = 0.0 +44:20/0 = 0 +44:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:20/0/physics_layer_0/angular_velocity = 0.0 +45:20/0 = 0 +45:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:20/0/physics_layer_0/angular_velocity = 0.0 +46:20/0 = 0 +46:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:20/0/physics_layer_0/angular_velocity = 0.0 +47:20/0 = 0 +47:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:20/0/physics_layer_0/angular_velocity = 0.0 +48:20/0 = 0 +48:20/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:20/0/physics_layer_0/angular_velocity = 0.0 +0:21/0 = 0 +0:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:21/0/physics_layer_0/angular_velocity = 0.0 +1:21/0 = 0 +1:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:21/0/physics_layer_0/angular_velocity = 0.0 +2:21/0 = 0 +2:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:21/0/physics_layer_0/angular_velocity = 0.0 +3:21/0 = 0 +3:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:21/0/physics_layer_0/angular_velocity = 0.0 +4:21/0 = 0 +4:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:21/0/physics_layer_0/angular_velocity = 0.0 +5:21/0 = 0 +5:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:21/0/physics_layer_0/angular_velocity = 0.0 +6:21/0 = 0 +6:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:21/0/physics_layer_0/angular_velocity = 0.0 +7:21/0 = 0 +7:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:21/0/physics_layer_0/angular_velocity = 0.0 +8:21/0 = 0 +8:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:21/0/physics_layer_0/angular_velocity = 0.0 +9:21/0 = 0 +9:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:21/0/physics_layer_0/angular_velocity = 0.0 +10:21/0 = 0 +10:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:21/0/physics_layer_0/angular_velocity = 0.0 +11:21/0 = 0 +11:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:21/0/physics_layer_0/angular_velocity = 0.0 +12:21/0 = 0 +12:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:21/0/physics_layer_0/angular_velocity = 0.0 +13:21/0 = 0 +13:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:21/0/physics_layer_0/angular_velocity = 0.0 +14:21/0 = 0 +14:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:21/0/physics_layer_0/angular_velocity = 0.0 +15:21/0 = 0 +15:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:21/0/physics_layer_0/angular_velocity = 0.0 +16:21/0 = 0 +16:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:21/0/physics_layer_0/angular_velocity = 0.0 +17:21/0 = 0 +17:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:21/0/physics_layer_0/angular_velocity = 0.0 +18:21/0 = 0 +18:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:21/0/physics_layer_0/angular_velocity = 0.0 +19:21/0 = 0 +19:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:21/0/physics_layer_0/angular_velocity = 0.0 +20:21/0 = 0 +20:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:21/0/physics_layer_0/angular_velocity = 0.0 +21:21/0 = 0 +21:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:21/0/physics_layer_0/angular_velocity = 0.0 +22:21/0 = 0 +22:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:21/0/physics_layer_0/angular_velocity = 0.0 +23:21/0 = 0 +23:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:21/0/physics_layer_0/angular_velocity = 0.0 +24:21/0 = 0 +24:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:21/0/physics_layer_0/angular_velocity = 0.0 +25:21/0 = 0 +25:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:21/0/physics_layer_0/angular_velocity = 0.0 +26:21/0 = 0 +26:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:21/0/physics_layer_0/angular_velocity = 0.0 +27:21/0 = 0 +27:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:21/0/physics_layer_0/angular_velocity = 0.0 +28:21/0 = 0 +28:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +28:21/0/physics_layer_0/angular_velocity = 0.0 +29:21/0 = 0 +29:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +29:21/0/physics_layer_0/angular_velocity = 0.0 +30:21/0 = 0 +30:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +30:21/0/physics_layer_0/angular_velocity = 0.0 +31:21/0 = 0 +31:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +31:21/0/physics_layer_0/angular_velocity = 0.0 +32:21/0 = 0 +32:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +32:21/0/physics_layer_0/angular_velocity = 0.0 +33:21/0 = 0 +33:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +33:21/0/physics_layer_0/angular_velocity = 0.0 +34:21/0 = 0 +34:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +34:21/0/physics_layer_0/angular_velocity = 0.0 +35:21/0 = 0 +35:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +35:21/0/physics_layer_0/angular_velocity = 0.0 +36:21/0 = 0 +36:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +36:21/0/physics_layer_0/angular_velocity = 0.0 +37:21/0 = 0 +37:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +37:21/0/physics_layer_0/angular_velocity = 0.0 +38:21/0 = 0 +38:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +38:21/0/physics_layer_0/angular_velocity = 0.0 +39:21/0 = 0 +39:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +39:21/0/physics_layer_0/angular_velocity = 0.0 +40:21/0 = 0 +40:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +40:21/0/physics_layer_0/angular_velocity = 0.0 +41:21/0 = 0 +41:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +41:21/0/physics_layer_0/angular_velocity = 0.0 +42:21/0 = 0 +42:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +42:21/0/physics_layer_0/angular_velocity = 0.0 +43:21/0 = 0 +43:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +43:21/0/physics_layer_0/angular_velocity = 0.0 +44:21/0 = 0 +44:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +44:21/0/physics_layer_0/angular_velocity = 0.0 +45:21/0 = 0 +45:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +45:21/0/physics_layer_0/angular_velocity = 0.0 +46:21/0 = 0 +46:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +46:21/0/physics_layer_0/angular_velocity = 0.0 +47:21/0 = 0 +47:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +47:21/0/physics_layer_0/angular_velocity = 0.0 +48:21/0 = 0 +48:21/0/physics_layer_0/linear_velocity = Vector2(0, 0) +48:21/0/physics_layer_0/angular_velocity = 0.0 +18:0/0 = 0 +18:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:0/0/physics_layer_0/angular_velocity = 0.0 +18:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) + +[sub_resource type="TileSetScenesCollectionSource" id="TileSetScenesCollectionSource_mi6dp"] +scenes/3/scene = ExtResource("3_uqirg") +scenes/4/scene = ExtResource("2_poklm") + +[resource] +physics_layer_0/collision_layer = 1 +sources/1 = SubResource("TileSetAtlasSource_ari5a") +sources/3 = SubResource("TileSetScenesCollectionSource_mi6dp") diff --git a/src/scene-tiles/chest/chest.gd b/src/scene-tiles/chest/chest.gd new file mode 100644 index 0000000..4c992ed --- /dev/null +++ b/src/scene-tiles/chest/chest.gd @@ -0,0 +1,37 @@ +extends Area2D + +signal inspected + +@export var dialog_resource: DialogueResource +@export var dialog_start: String = "start" + +# Should this go into a singleton? +const dialogBox = preload("res://assets/dialogue_boxes/balloon.tscn") + +var opened:bool = false +@onready var sprite = $Sprite2D + +#bad solution but not a bad solution YET + +func _init() -> void: + add_to_group('interact') + add_to_group('chest') + +func _ready() -> void: + pass + +func _on_interaction(player:Player) -> void: + if dialog_resource == null: + # we need 404.dialog lol + return + + #if opened: + #return + + opened = true + var balloon: Node = dialogBox.instantiate() + get_tree().current_scene.add_child(balloon) + balloon.start(dialog_resource,dialog_start) + $Sprite2D.frame = 1 + + diff --git a/src/scene-tiles/chest/chest.tscn b/src/scene-tiles/chest/chest.tscn new file mode 100644 index 0000000..97d3972 --- /dev/null +++ b/src/scene-tiles/chest/chest.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=4 format=3 uid="uid://cojb8qcua33fo"] + +[ext_resource type="Texture2D" uid="uid://b3w5cmqr6fbcw" path="res://assets/monochrome-transparent_packed.png" id="1_dpxiw"] +[ext_resource type="Script" path="res://src/scene-tiles/chest/chest.gd" id="1_j2k5u"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_vdfc5"] +size = Vector2(16, 16) + +[node name="Chest" type="Area2D"] +script = ExtResource("1_j2k5u") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(8, 8) +shape = SubResource("RectangleShape2D_vdfc5") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("1_dpxiw") +centered = false +hframes = 2 +region_enabled = true +region_rect = Rect2(128, 96, 32, 16) diff --git a/src/scene-tiles/stairs/stairs.gd b/src/scene-tiles/stairs/stairs.gd new file mode 100644 index 0000000..e38d74a --- /dev/null +++ b/src/scene-tiles/stairs/stairs.gd @@ -0,0 +1,10 @@ +extends Area2D + +@export var next_room_id: int = 0 + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + add_to_group('walkable') + add_to_group('stairs') + pass # Replace with function body. + diff --git a/src/scene-tiles/stairs/stairs.tscn b/src/scene-tiles/stairs/stairs.tscn new file mode 100644 index 0000000..e8a68c7 --- /dev/null +++ b/src/scene-tiles/stairs/stairs.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=4 format=3 uid="uid://cmdlpc0uddsm2"] + +[ext_resource type="Texture2D" uid="uid://b3w5cmqr6fbcw" path="res://assets/monochrome-transparent_packed.png" id="1_cirol"] +[ext_resource type="Script" path="res://src/scene-tiles/stairs/stairs.gd" id="1_ww3tu"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_8vrfj"] +size = Vector2(16, 16) + +[node name="stairs" type="Area2D"] +script = ExtResource("1_ww3tu") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(8, 8) +shape = SubResource("RectangleShape2D_8vrfj") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("1_cirol") +offset = Vector2(8, 8) +region_enabled = true +region_rect = Rect2(48, 96, 16, 16) diff --git a/src/special_scenes/game_handler.tscn b/src/special_scenes/game_handler.tscn deleted file mode 100644 index b0dad5a..0000000 --- a/src/special_scenes/game_handler.tscn +++ /dev/null @@ -1,68 +0,0 @@ -[gd_scene load_steps=8 format=3 uid="uid://detywurbm46yn"] - -[ext_resource type="Script" path="res://src/special_scripts/outside_maze.gd" id="1_538b0"] -[ext_resource type="Texture2D" uid="uid://d316msy0elqvi" path="res://assets/maze_assets_very_temp/OutsideCharacter.png" id="2_p76kx"] -[ext_resource type="Texture2D" uid="uid://d302b6tly3nlg" path="res://assets/maze_assets_very_temp/Apparatus.png" id="3_ish85"] -[ext_resource type="Script" path="res://src/special_scripts/inside_maze.gd" id="4_qdoyt"] -[ext_resource type="Texture2D" uid="uid://df17dmyxpjmrb" path="res://assets/maze_assets_very_temp/MazeCharacter.png" id="5_u6123"] - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_bs24g"] - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_5bthu"] - -[node name="GameHandler" type="Node2D"] - -[node name="OutsideMaze" type="Node2D" parent="."] -visible = false -script = ExtResource("1_538b0") - -[node name="ColorRect" type="ColorRect" parent="OutsideMaze"] -offset_right = 1156.0 -offset_bottom = 650.0 -color = Color(0.411765, 0.411765, 0.411765, 1) - -[node name="OutsideCharacter" type="CharacterBody2D" parent="OutsideMaze"] -position = Vector2(662, 157) - -[node name="Sprite2D" type="Sprite2D" parent="OutsideMaze/OutsideCharacter"] -scale = Vector2(2, 2) -texture = ExtResource("2_p76kx") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="OutsideMaze/OutsideCharacter"] -shape = SubResource("RectangleShape2D_bs24g") - -[node name="RoomWalls" type="Node2D" parent="OutsideMaze"] - -[node name="Apparatus" type="Area2D" parent="OutsideMaze"] -position = Vector2(475, 288) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="OutsideMaze/Apparatus"] -shape = SubResource("RectangleShape2D_5bthu") - -[node name="Sprite2D" type="Sprite2D" parent="OutsideMaze/Apparatus"] -position = Vector2(-13, 1) -scale = Vector2(2, 2) -texture = ExtResource("3_ish85") - -[node name="InsideMaze" type="Node2D" parent="."] -script = ExtResource("4_qdoyt") - -[node name="ColorRect" type="ColorRect" parent="InsideMaze"] -offset_right = 1147.0 -offset_bottom = 646.0 -color = Color(0, 0, 0, 1) - -[node name="Grid" type="Node2D" parent="InsideMaze"] -position = Vector2(450, 235) - -[node name="MazeCharacter" type="Node2D" parent="InsideMaze/Grid"] - -[node name="Sprite2D" type="Sprite2D" parent="InsideMaze/Grid/MazeCharacter"] -scale = Vector2(2, 2) -texture = ExtResource("5_u6123") - -[node name="WallCollection" type="Node2D" parent="InsideMaze/Grid"] - -[node name="Wall" type="Sprite2D" parent="InsideMaze/Grid/WallCollection"] - -[node name="Exit" type="Node2D" parent="InsideMaze/Grid"] diff --git a/src/special_scripts/inside_maze.gd b/src/special_scripts/inside_maze.gd deleted file mode 100644 index 14a97cf..0000000 --- a/src/special_scripts/inside_maze.gd +++ /dev/null @@ -1,178 +0,0 @@ -extends Node2D - - -@onready var player = $Grid/MazeCharacter -#it is slighty awful I didn't onready the important labels but HEY - - -var is_turn_timer_active: bool = false #I probably should have not had any "is" in my bools -var turn_timer_countdown: float = 8 - -var out_of_screen_position: Vector2 = Vector2(-42,-42) - -var distance_between_tile_centers: int = 50 -var grid_tile_width: int = 5 -var grid_tile_height: int = 5 -var center_of_top_left_tile_position: Vector2 -var center_of_bottom_right_tile_position: Vector2 - - - -var direction_dict = { - "up" : Vector2(0,-1), - "down" : Vector2(0,1), - "left" : Vector2(-1,0), - "right" : Vector2(1,0) -} - - - -var room_dictionary: Dictionary = { - -} - -func _ready() -> void: - do_grid_adjustments() - - -func refresh_the_board(): - player.position = Vector2(60,60) - if is_turn_timer_active: - $TurnTimer.start() - - -func do_grid_adjustments(): - distance_between_tile_centers = distance_between_tile_centers * $Grid.scale.y - center_of_top_left_tile_position = $Grid.global_position ##I need to move this just a bit I think - center_of_bottom_right_tile_position.x = center_of_top_left_tile_position.x + (grid_tile_width - 1) \ - * distance_between_tile_centers - center_of_bottom_right_tile_position.y = center_of_top_left_tile_position.y + (grid_tile_height- 1) \ - * distance_between_tile_centers - print(center_of_bottom_right_tile_position) - -func _physics_process(delta: float) -> void: - check_inputs() - - -func check_inputs() -> void: - if Input.is_action_just_pressed("ui_down"): - attempt_move(direction_dict["down"]) - if Input.is_action_just_pressed("ui_up"): - attempt_move(direction_dict["up"]) - if Input.is_action_just_pressed("ui_right"): - attempt_move(direction_dict["right"]) - if Input.is_action_just_pressed("ui_left"): - attempt_move(direction_dict["left"]) - - - - -##Add fail conditions and whatever - -func attempt_move(move_direction: Vector2): ## - ##Add stuff about communicating what's happening - ##Check if tile is occupied or something - var attempted_move_position = player.global_position + (move_direction * distance_between_tile_centers) - #add_text_to_step_log("Attempt to go " + str(direction_dict.find_key(move_direction))) - if is_position_in_grid(attempted_move_position): - player.global_position = attempted_move_position - #add_text_to_step_log("You went " + str(direction_dict.find_key(move_direction)) + "!") - end_turn() - else: - #Double check for secrets - flash_the_grid() - #add_text_to_step_log("Too far from center") - -func is_position_in_grid(given_position: Vector2) -> bool: ## - if given_position.x > center_of_bottom_right_tile_position.x: - return false - if given_position.x < center_of_top_left_tile_position.x: - return false - if given_position.y > center_of_bottom_right_tile_position.y: - return false - if given_position.y < center_of_top_left_tile_position.y: - return false - return true - - -func this_invalid_move_was_made(in_which_direction: Vector2): #yes this could/should be a signal - flash_the_grid() - var invalid_direction: Vector2 - invalid_direction = in_which_direction - if direction_dict["up"]: #I like match more but I keep getting errors - pass - if direction_dict["down"]: - pass - if direction_dict["left"]: - pass - if direction_dict["right"]: - pass - -func flash_the_grid(): -# var current_tween = create_tween() -# current_tween.tween_property($Grid, "position", $Grid.global_position + Vector2(3,0), 0.04) -# current_tween.tween_property($Grid, "position", $Grid.global_position - Vector2(3,0), 0.04) - pass - - -func end_turn(): - pass - - - - -func kill_player(): - refresh_the_board() - - -func get_random_outer_tile_direction() -> Vector2: - var enemy_travel_direction: Vector2 - var counter: int - var random_int = randi_range(0,3) ##There MUST be a better way to randomly get something from a dict but whatever - for direction_name in direction_dict: - if counter == random_int: - enemy_travel_direction = direction_dict[direction_name] - counter += 1 - return enemy_travel_direction - -func get_random_outer_tile_position() -> Vector2: - var which_outer_tile_position: Vector2 - var test_direction = get_random_outer_tile_direction() - which_outer_tile_position = get_outer_tile_position_on_opposing_edge(test_direction) - return which_outer_tile_position - -func get_outer_tile_position_on_opposing_edge(given_direction: Vector2) -> Vector2: - var tile_number:int = randi_range(1,grid_tile_width) - var which_outer_tile_position: Vector2 - if given_direction == direction_dict["up"] or given_direction == direction_dict["down"]: - which_outer_tile_position.x = center_of_top_left_tile_position.x + ((tile_number - 1) * distance_between_tile_centers) - if given_direction == direction_dict["up"]: #Below might need to be grid_tile_height - which_outer_tile_position.y = center_of_top_left_tile_position.y + ((grid_tile_width -1 ) * distance_between_tile_centers) - if given_direction == direction_dict["down"]: - which_outer_tile_position.y = center_of_top_left_tile_position.y - else: - which_outer_tile_position.y = center_of_top_left_tile_position.y + ((tile_number - 1) * distance_between_tile_centers) - if given_direction == direction_dict["left"]: - which_outer_tile_position.x = center_of_top_left_tile_position.x + ((grid_tile_height -1 ) * distance_between_tile_centers) - if given_direction == direction_dict["right"]: - which_outer_tile_position.x = center_of_top_left_tile_position.x - return which_outer_tile_position - - - - - -#Ok so like I'm thinking of a step by step system where each step that's attempted -#Is slowly revealed which I have the tech for but whatever that's too slow - -#Questions! -#func clear_step_log(): -# for written_label_step in step_log.get_children(): -# written_label_step.queue_free() -# -#func add_text_to_step_log(given_text: String): -# #oooh I can add colors or effects with RichText -# var new_label = Label.new() -# step_log.add_child(new_label) -# new_label.text = given_text - diff --git a/src/special_scripts/outside_maze.gd b/src/special_scripts/outside_maze.gd deleted file mode 100644 index 6d5a8e1..0000000 --- a/src/special_scripts/outside_maze.gd +++ /dev/null @@ -1,47 +0,0 @@ -extends Node2D - -var current_player_input_scheme: InputScheme = InputScheme.MOUSE_KEYBOARD ###THis can be compartimentalized -enum InputScheme { - MOUSE_KEYBOARD, - CONTROLLER -} -var movement_vector: Vector2 -var outside_character_speed: int = 200 - - -# Called when the node enters the scene tree for the first time. -func _ready() -> void: - pass # Replace with function body. - - -func _physics_process(delta: float) -> void: - check_for_new_player_inputs_to_move() - move_outside_character_by_movement_vector(movement_vector) - -func check_for_new_player_inputs_to_move(): - movement_vector = Vector2.ZERO -# if current_player_input_scheme == InputScheme.CONTROLLER: -# movement_vector = Vector2( -# Input.get_action_strength("controller_move_right") - Input.get_action_strength("controller_move_left"), -# Input.get_action_strength("controller_move_down") - Input.get_action_strength("controller_move_up") -# ).limit_length(1.0) -# var forced_aiming_vector = Vector2( -# Input.get_action_strength("controller_aim_right") - Input.get_action_strength("controller_aim_left"), -# Input.get_action_strength("controller_aim_down") - Input.get_action_strength("controller_aim_up") -# ).limit_length(1.0) - if current_player_input_scheme == InputScheme.MOUSE_KEYBOARD:#8d movement is possible... - #movement_vector = Input.get_vector() - if Input.is_action_pressed("ui_right"): - movement_vector.x = 1.0 - if Input.is_action_pressed("ui_left"): - movement_vector.x = -1.0 - if Input.is_action_pressed("ui_down"): - movement_vector.y = 1.0 - if Input.is_action_pressed("ui_up"): - movement_vector.y = -1.0 - movement_vector = movement_vector.normalized() - pass - -func move_outside_character_by_movement_vector(given_movement_vector: Vector2): - $OutsideCharacter.velocity = given_movement_vector * outside_character_speed - $OutsideCharacter.move_and_slide() diff --git a/src/static_scripts/gitnoremove.md b/src/static_scripts/gitnoremove.md deleted file mode 100644 index e69de29..0000000 diff --git a/src/testing/from_old_projects/super_menu.gd b/src/testing/from_old_projects/super_menu.gd deleted file mode 100644 index 20a0f9a..0000000 --- a/src/testing/from_old_projects/super_menu.gd +++ /dev/null @@ -1,42 +0,0 @@ -extends Node -class_name SuperMenu - -var current_ordered_button_position_array_index: int = 0: set = set_current_ordered_button_position_array_index -var ordered_button_position_array: Array[Vector2] -@onready var player = $"2DObjects/PlayerSprite" -@onready var tether = $"2DObjects/TetherPoint" - -var has_menu_been_set_up: bool = false - -func _ready() -> void: - pass - -func set_up_cursor_selection(): #This can't be at _ready() because UI doesn't set up yet - for node in $Control/MarginContainer/VSplitContainer.get_children(): - if node is Button: - ordered_button_position_array.append(node.global_position) - -func _physics_process(delta: float) -> void: - if !has_menu_been_set_up: - if Input.is_anything_pressed(): - set_up_cursor_selection() - has_menu_been_set_up = true - if Input.is_action_just_pressed("ui_down"): - if current_ordered_button_position_array_index == ordered_button_position_array.size() - 1: - current_ordered_button_position_array_index = 0 - else: - current_ordered_button_position_array_index += 1 - if Input.is_action_just_pressed("ui_up"): - if current_ordered_button_position_array_index == 0: - current_ordered_button_position_array_index = ordered_button_position_array.size() - 1 - else: - current_ordered_button_position_array_index -= 1 - if Input.is_action_just_pressed("ui_accept"): - for node in $Control/MarginContainer/VSplitContainer.get_children(): - if node is Button: - if node.global_position == ordered_button_position_array[current_ordered_button_position_array_index]: - node.emit_signal("pressed") #YYYYYYESSSS THIS WORKS - -func set_current_ordered_button_position_array_index(new_index: int): - current_ordered_button_position_array_index = new_index - tether.global_position.y = ordered_button_position_array[new_index].y diff --git a/src/testing/test_space.gd b/src/testing/test_space.gd deleted file mode 100644 index a686023..0000000 --- a/src/testing/test_space.gd +++ /dev/null @@ -1,117 +0,0 @@ -extends Node2D - - -# Called when the node enters the scene tree for the first time. -enum TextFileLineLookingFor { - CODES, - ROOMROW, - CIRCUITROW - } -var current_TextFileLineLookingFor: TextFileLineLookingFor = TextFileLineLookingFor.CODES - - -var room_dictionary: Dictionary = { - -} -var circuit_dictionary: Dictionary = { - -} -var file_writing_legend: Dictionary = { - "room_code" : ">>R", - "circuit_code" : ">>C" -} - -var first_letter_of_in_game_element_dictionary: Array = ["W", "C"] ###Hahaha not dicitonaries at the moment -var first_letter_of_in_game_effect_dictionary: Array = ["V", "E", "M"] - -func _ready() -> void: - read_experience_text_file("res://FileExperimentation/ShowcaseExperience.txt") - #Verify and raise errors - #transmit info - - -func read_experience_text_file(given_experience_text_file_path: String): - var file = FileAccess.open(given_experience_text_file_path, FileAccess.READ) - var current_callable_that_edits_stored_data: Callable ###Maybe I can use a callable instead of stored dictionary values? - var current_dictionary_key: String - var current_dictionary_contents: Array - var amount_of_lines_to_read_and_store: int = 0 - var content = file.get_as_text().split("\n") - file.close() - var total_lines_in_file: int = content.size() - var current_line: int = 1 - var line_read: bool = false - while current_line < total_lines_in_file: - var line: String = content[current_line - 1] - line_read = false - #print(line) - if current_TextFileLineLookingFor == TextFileLineLookingFor.CODES and !line_read: - if line.begins_with(file_writing_legend["room_code"]): - ###next5 lines should be roomrow codes - var what_room_code: String = line.substr(2,-1) - room_dictionary[what_room_code] = [] - current_dictionary_key = what_room_code - current_TextFileLineLookingFor = TextFileLineLookingFor.ROOMROW - amount_of_lines_to_read_and_store = 5 - line_read = true - pass - elif line.begins_with(file_writing_legend["circuit_code"]): - ###Next line should contain information on the circuit - var what_circuit_code: String = line.substr(2,-1) - circuit_dictionary[what_circuit_code] = [] - current_dictionary_key = what_circuit_code - current_TextFileLineLookingFor = TextFileLineLookingFor.CIRCUITROW - amount_of_lines_to_read_and_store = 1 - line_read = true - pass - else: - line_read = true - if current_TextFileLineLookingFor == TextFileLineLookingFor.ROOMROW and !line_read: - ####Read the roomrow and reduce the next lines until it's 0 and then go to CODES - var every_tile_in_row = line.split("],") - for tile in every_tile_in_row: - room_dictionary[current_dictionary_key].append(tile) - amount_of_lines_to_read_and_store -= 1 - if amount_of_lines_to_read_and_store == 0: - current_TextFileLineLookingFor = TextFileLineLookingFor.CODES - print(room_dictionary[current_dictionary_key]) - line_read = true - pass - if current_TextFileLineLookingFor == TextFileLineLookingFor.CIRCUITROW and !line_read: - ####Read the roomrow and reduce the next lines until it's 0 and then go to CODES - var every_effect_in_order = line.split("],") - for effect in every_effect_in_order: - circuit_dictionary[current_dictionary_key].append(effect) - amount_of_lines_to_read_and_store -= 1 - if amount_of_lines_to_read_and_store == 0: - current_TextFileLineLookingFor = TextFileLineLookingFor.CODES - print(circuit_dictionary[current_dictionary_key]) - line_read = true - pass - - if line_read: - current_line += 1 - -func are_dictionaries_valid() -> bool : - return true - -func verify_circuit_dictionary() -> bool : - for circuit in circuit_dictionary: - for effect in circuit: - var effect_first_letter = effect.substr(0,1) - if effect_first_letter not in first_letter_of_in_game_effect_dictionary: - return false - return true - - -func verify_room_dictionary() -> bool : - for room in room_dictionary: - var amount_of_rooms = 0 - - for tile in room: - var element_first_letter = tile.substr(0,1) - if element_first_letter not in first_letter_of_in_game_element_dictionary: - return false - if element_first_letter not in first_letter_of_in_game_effect_dictionary: - return false - return true diff --git a/src/testing/test_space.tscn b/src/testing/test_space.tscn deleted file mode 100644 index 18585f5..0000000 --- a/src/testing/test_space.tscn +++ /dev/null @@ -1,6 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://brvpbsqn7pngj"] - -[ext_resource type="Script" path="res://src/testing/test_space.gd" id="1_jqet7"] - -[node name="TestSpace" type="Node2D"] -script = ExtResource("1_jqet7") diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..ea01a5d --- /dev/null +++ b/todo.md @@ -0,0 +1,26 @@ +# inventory +## inventory datatype: +- manages an Items Id, icon, description(s), and if the player has it or not? (should they manage that too?) +## inventory screen: +- lets you see all the items you currently have with descriptions of them, pressing action button lets you equip it. +## items in game: +- npcs can check your equipped item and special cutscenes can happen + +## format ideas: +### items are all scenes: +- no +### Items are all resources: +- give resources through their url +- would let us manage multiple instances of an item +- maybe the db could act as a master reference, the resource could act as instances? +### item db +- items are all in a big list, give them though id + + +# todo: +- clean things up +- update contribution instructions +- work on settings menu: + - control mapping? + - resolution scale, integer or fit + - \ No newline at end of file