From a9f1fd48c9b1ea13d5367a6a42e1805ccc073516 Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Wed, 11 Mar 2026 13:58:53 +1100 Subject: [PATCH] Added godmode hotkey --- BoxBoy/BoxBoy.gd | 6 +++++- Controllers/GameplayController.gd | 9 +++++++++ Controllers/GameplayController.gd.uid | 1 + project.godot | 11 +++++++++++ scene.tscn | 20 +++++++++++++------- 5 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 Controllers/GameplayController.gd create mode 100644 Controllers/GameplayController.gd.uid diff --git a/BoxBoy/BoxBoy.gd b/BoxBoy/BoxBoy.gd index 786d5df..44c23d7 100644 --- a/BoxBoy/BoxBoy.gd +++ b/BoxBoy/BoxBoy.gd @@ -1,5 +1,6 @@ class_name BoxBoy extends CharacterBody2D +@onready var _gameplayController = $/root/Scene/GameplayController @onready var _sprite = $AnimatedSprite2D const MOVE_FORCE: int = 300 #about 10 tiles horizontally (airborne arc) @@ -68,9 +69,12 @@ func _physics_process(_delta) -> void: if abs(velocity.x) > MAX_MOVE_SPEED: velocity.x = MAX_MOVE_SPEED * sign(velocity.x) + if _gameplayController.godmode and velocity.y > 0: + velocity.y = 0 + + #do the thing move_and_slide() - print(velocity.y) #animation stuff func _on_animation_finished() -> void: diff --git a/Controllers/GameplayController.gd b/Controllers/GameplayController.gd new file mode 100644 index 0000000..43e7198 --- /dev/null +++ b/Controllers/GameplayController.gd @@ -0,0 +1,9 @@ +extends Node + +static var godmode: bool = false: + get: + return godmode + +func _process(_delta: float) -> void: + if Input.is_action_just_pressed("controller_godmode"): + godmode = !godmode diff --git a/Controllers/GameplayController.gd.uid b/Controllers/GameplayController.gd.uid new file mode 100644 index 0000000..d20fb7f --- /dev/null +++ b/Controllers/GameplayController.gd.uid @@ -0,0 +1 @@ +uid://b4nlbrxto0tjp diff --git a/project.godot b/project.godot index 674aef1..043c351 100644 --- a/project.godot +++ b/project.godot @@ -19,6 +19,12 @@ run/main_scene="res://scene.tscn" config/features=PackedStringArray("4.6", "Forward Plus") config/icon="res://icon.svg" +[display] + +window/size/viewport_width=1280 +window/size/viewport_height=720 +window/subwindows/embed_subwindows=false + [input] input_right={ @@ -38,6 +44,11 @@ input_jump={ "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":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) ] } +controller_godmode={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":true,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":71,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} [rendering] diff --git a/scene.tscn b/scene.tscn index 2b98d01..aa5946a 100644 --- a/scene.tscn +++ b/scene.tscn @@ -1,6 +1,7 @@ [gd_scene format=4 uid="uid://b7ndmr6uvnyqb"] [ext_resource type="Texture2D" uid="uid://ddl0kxl0inw6r" path="res://Tileset/atlas.png" id="1_3253y"] +[ext_resource type="Script" uid="uid://b4nlbrxto0tjp" path="res://Controllers/GameplayController.gd" id="1_u3cyc"] [ext_resource type="PackedScene" uid="uid://dndbf44fkm2ww" path="res://BoxBoy/BoxBoy.tscn" id="2_3253y"] [ext_resource type="PackedScene" uid="uid://b1hpr05b5sgww" path="res://Bouncy/Bouncy.tscn" id="4_u3cyc"] @@ -22,7 +23,10 @@ physics_layer_0/collision_layer = 1 sources/4 = SubResource("TileSetAtlasSource_u3cyc") tile_proxies/coords_level = [[0, Vector2i(0, 0)], [4, Vector2i(0, 0)], [1, Vector2i(0, 0)], [4, Vector2i(1, 0)], [2, Vector2i(0, 0)], [4, Vector2i(2, 0)], [3, Vector2i(0, 0)], [4, Vector2i(3, 0)]] -[node name="Node2D" type="Node2D" unique_id=1373474628] +[node name="Scene" type="Node" unique_id=1524577592] + +[node name="GameplayController" type="Node" parent="." unique_id=1304851943] +script = ExtResource("1_u3cyc") [node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=1449632282] tile_map_data = PackedByteArray("AAD9/w0ABAAAAAAAAAD9/w4ABAABAAAAAAD9/w8ABAABAAAAAAD+/w0ABAAAAAAAAAD+/w4ABAABAAAAAAD+/w8ABAABAAAAAAD//w0ABAAAAAAAAAD//w4ABAABAAAAAAD//w8ABAABAAAAAAAAAA0ABAAAAAAAAAAAAA4ABAABAAAAAAAAAA8ABAABAAAAAAABAA0ABAAAAAAAAAABAA4ABAABAAAAAAABAA8ABAABAAAAAAACAA0ABAAAAAAAAAACAA4ABAABAAAAAAACAA8ABAABAAAAAAADAA0ABAAAAAAAAAADAA4ABAABAAAAAAADAA8ABAABAAAAAAAEAA0ABAAAAAAAAAAEAA4ABAABAAAAAAAEAA8ABAABAAAAAAAFAA0ABAAAAAAAAAAFAA4ABAABAAAAAAAFAA8ABAABAAAAAAAGAA0ABAAAAAAAAAAGAA4ABAABAAAAAAAGAA8ABAABAAAAAAAHAA0ABAAAAAAAAAAHAA4ABAABAAAAAAAHAA8ABAABAAAAAAAIAA0ABAAAAAAAAAAIAA4ABAABAAAAAAAIAA8ABAABAAAAAAAJAA0ABAAAAAAAAAAJAA4ABAABAAAAAAAJAA8ABAABAAAAAAAKAA0ABAAAAAAAAAAKAA4ABAABAAAAAAAKAA8ABAABAAAAAAALAA0ABAAAAAAAAAALAA4ABAABAAAAAAALAA8ABAABAAAAAAAMAA0ABAAAAAAAAAAMAA4ABAABAAAAAAAMAA8ABAABAAAAAAANAA0ABAAAAAAAAAANAA4ABAABAAAAAAANAA8ABAABAAAAAAAOAA0ABAAAAAAAAAAOAA4ABAABAAAAAAAOAA8ABAABAAAAAAAPAA0ABAAAAAAAAAAPAA4ABAABAAAAAAAPAA8ABAABAAAAAAAQAA4ABAABAAAAAAAQAA8ABAABAAAAAAARAA0ABAAAAAAAAAARAA4ABAABAAAAAAARAA8ABAABAAAAAAASAA0ABAAAAAAAAAASAA4ABAABAAAAAAASAA8ABAABAAAAAAATAA0ABAAAAAAAAAATAA4ABAABAAAAAAATAA8ABAABAAAAAAAUAA0ABAAAAAAAAAAUAA4ABAABAAAAAAAUAA8ABAABAAAAAAAVAA0ABAAAAAAAAAAVAA4ABAABAAAAAAAVAA8ABAABAAAAAAAWAA0ABAAAAAAAAAAWAA4ABAABAAAAAAAWAA8ABAABAAAAAAAXAA0ABAAAAAAAAAAXAA4ABAABAAAAAAAXAA8ABAABAAAAAAAYAA0ABAAAAAAAAAAYAA4ABAABAAAAAAAYAA8ABAABAAAAAAAZAA0ABAAAAAAAAAAZAA4ABAABAAAAAAAZAA8ABAABAAAAAAAaAA0ABAAAAAAAAAAaAA4ABAABAAAAAAAaAA8ABAABAAAAAAAbAA0ABAABAAAAAAAbAA4ABAABAAAAAAAbAA8ABAABAAAAAAAcAA0ABAABAAAAAAAcAA4ABAABAAAAAAAcAA8ABAABAAAAAAAdAA0ABAABAAAAAAAdAA4ABAABAAAAAAAdAA8ABAABAAAAAAAeAA0ABAABAAAAAAAeAA4ABAABAAAAAAAeAA8ABAABAAAAAAAfAA0ABAABAAAAAAAfAA4ABAABAAAAAAAfAA8ABAABAAAAAAD9/xAABAADAAAAAAD+/xAABAADAAAAAAD//xAABAADAAAAAAAAABAABAADAAAAAAABABAABAADAAAAAAACABAABAADAAAAAAADABAABAADAAAAAAAEABAABAADAAAAAAAFABAABAADAAAAAAAGABAABAADAAAAAAAHABAABAADAAAAAAAIABAABAADAAAAAAAJABAABAADAAAAAAAKABAABAADAAAAAAALABAABAADAAAAAAAMABAABAADAAAAAAANABAABAADAAAAAAAOABAABAADAAAAAAAPABAABAADAAAAAAAQABAABAADAAAAAAARABAABAADAAAAAAASABAABAADAAAAAAATABAABAADAAAAAAAUABAABAADAAAAAAAVABAABAADAAAAAAAWABAABAADAAAAAAAXABAABAADAAAAAAAYABAABAADAAAAAAAZABAABAADAAAAAAAaABAABAADAAAAAAAbABAABAADAAAAAAAcABAABAADAAAAAAAdABAABAADAAAAAAAeABAABAADAAAAAAAfABAABAADAAAAAAASAAMABAABAAAAAAASAAIABAAAAAAAAAAQAA0ABAAAAAAAAAD7/wAABAABAAAAAAD7/wEABAABAAAAAAD7/wIABAABAAAAAAD7/wMABAABAAAAAAD7/wQABAABAAAAAAD7/wUABAABAAAAAAD7/wYABAABAAAAAAD7/wcABAABAAAAAAD7/wgABAABAAAAAAD7/wkABAABAAAAAAD7/woABAABAAAAAAD7/wsABAABAAAAAAD7/wwABAABAAAAAAD7/w0ABAABAAAAAAD7/w4ABAABAAAAAAD7/w8ABAABAAAAAAD7/xAABAADAAAAAAD8/wAABAABAAAAAAD8/wEABAABAAAAAAD8/wIABAABAAAAAAD8/wMABAABAAAAAAD8/wQABAABAAAAAAD8/wUABAABAAAAAAD8/wYABAABAAAAAAD8/wcABAABAAAAAAD8/wgABAABAAAAAAD8/wkABAABAAAAAAD8/woABAABAAAAAAD8/wsABAABAAAAAAD8/wwABAABAAAAAAD8/w0ABAABAAAAAAD8/w4ABAABAAAAAAD8/w8ABAABAAAAAAD8/xAABAADAAAAAAD9/wIABAAAAAAAAAD9/wMABAABAAAAAAD+/wIABAAAAAAAAAD+/wMABAABAAAAAAD//wIABAAAAAAAAAD//wMABAABAAAAAAAAAAIABAAAAAAAAAAAAAMABAABAAAAAAABAAIABAAAAAAAAAABAAMABAABAAAAAAACAAIABAAAAAAAAAACAAMABAABAAAAAAADAAIABAAAAAAAAAADAAMABAABAAAAAAAEAAIABAAAAAAAAAAEAAMABAABAAAAAAAFAAIABAAAAAAAAAAFAAMABAABAAAAAAAOAAIABAAAAAAAAAAOAAMABAABAAAAAAAPAAIABAAAAAAAAAAPAAMABAABAAAAAAAQAAIABAAAAAAAAAAQAAMABAABAAAAAAARAAIABAAAAAAAAAARAAMABAABAAAAAAAgAAAABAABAAAAAAAgAAEABAABAAAAAAAgAAIABAABAAAAAAAgAAMABAABAAAAAAAgAAQABAABAAAAAAAgAAUABAABAAAAAAAgAAYABAABAAAAAAAgAAcABAABAAAAAAAgAAgABAABAAAAAAAgAAkABAABAAAAAAAgAAoABAABAAAAAAAgAAsABAABAAAAAAAgAAwABAABAAAAAAAgAA0ABAABAAAAAAAgAA4ABAABAAAAAAAgAA8ABAABAAAAAAAgABAABAADAAAAAAAhAAAABAABAAAAAAAhAAEABAABAAAAAAAhAAIABAABAAAAAAAhAAMABAABAAAAAAAhAAQABAABAAAAAAAhAAUABAABAAAAAAAhAAYABAABAAAAAAAhAAcABAABAAAAAAAhAAgABAABAAAAAAAhAAkABAABAAAAAAAhAAoABAABAAAAAAAhAAsABAABAAAAAAAhAAwABAABAAAAAAAhAA0ABAABAAAAAAAhAA4ABAABAAAAAAAhAA8ABAABAAAAAAAhABAABAADAAAAAAAXAAsABAACAAAAAAAXAAwABAACAAAAAAAYAAsABAACAAAAAAAYAAwABAAAAAAAAAAZAAsABAAAAAAAAAAZAAwABAAAAAAAAAAaAAsABAAAAAAAAAAaAAwABAAAAAAAAAAbAAsABAABAAAAAAAbAAwABAABAAAAAAAcAAsABAABAAAAAAAcAAwABAABAAAAAAAdAAsABAABAAAAAAAdAAwABAABAAAAAAAeAAsABAABAAAAAAAeAAwABAABAAAAAAAfAAsABAABAAAAAAAfAAwABAABAAAAAAAZAAkABAACAAAAAAAZAAoABAACAAAAAAAaAAkABAACAAAAAAAaAAoABAAAAAAAAAAbAAkABAAAAAAAAAAbAAoABAAAAAAAAAAcAAkABAAAAAAAAAAcAAoABAAAAAAAAAAdAAkABAAAAAAAAAAdAAoABAAAAAAAAAAeAAkABAAAAAAAAAAeAAoABAAAAAAAAAAfAAkABAAAAAAAAAAfAAoABAAAAAAAAAAbAAcABAACAAAAAAAbAAgABAACAAAAAAAcAAcABAACAAAAAAAcAAgABAAAAAAAAAAdAAcABAACAAAAAAAdAAgABAAAAAAAAAAeAAcABAACAAAAAAAeAAgABAAAAAAAAAAfAAcABAACAAAAAAAfAAgABAAAAAAAAAD7//H/BAABAAAAAAD7//L/BAABAAAAAAD7//P/BAABAAAAAAD7//T/BAABAAAAAAD7//X/BAABAAAAAAD7//b/BAABAAAAAAD7//f/BAABAAAAAAD7//j/BAABAAAAAAD7//n/BAABAAAAAAD7//r/BAABAAAAAAD7//v/BAABAAAAAAD7//z/BAABAAAAAAD7//3/BAABAAAAAAD7//7/BAABAAAAAAD7////BAABAAAAAAD8//H/BAABAAAAAAD8//L/BAABAAAAAAD8//P/BAABAAAAAAD8//T/BAABAAAAAAD8//X/BAABAAAAAAD8//b/BAABAAAAAAD8//f/BAABAAAAAAD8//j/BAABAAAAAAD8//n/BAABAAAAAAD8//r/BAABAAAAAAD8//v/BAABAAAAAAD8//z/BAABAAAAAAD8//3/BAABAAAAAAD8//7/BAABAAAAAAD8////BAABAAAAAAABAPn/BAABAAAAAAAAAPn/BAABAAAAAAD///n/BAABAAAAAAD+//n/BAABAAAAAAD9//n/BAABAAAAAAABAPj/BAAAAAAAAAAAAPj/BAAAAAAAAAD///j/BAAAAAAAAAD+//j/BAAAAAAAAAD9//j/BAAAAAAAAAACAO//BAABAAAAAAADAO//BAABAAAAAAAEAO//BAABAAAAAAAFAO//BAABAAAAAAAGAO//BAABAAAAAAAHAO//BAABAAAAAAACAO7/BAAAAAAAAAADAO7/BAAAAAAAAAAEAO7/BAAAAAAAAAAFAO7/BAAAAAAAAAAGAO7/BAAAAAAAAAAHAO7/BAAAAAAAAAAJAO7/BAACAAAAAAALAO7/BAACAAAAAAANAO7/BAACAAAAAAAPAO7/BAACAAAAAAARAO7/BAACAAAAAAATAO7/BAACAAAAAAAVAO7/BAACAAAAAAAXAO7/BAACAAAAAAAZAO7/BAACAAAAAAAbAO7/BAACAAAAAAAdAO7/BAACAAAAAAAfAO7/BAACAAAAAAALAO//BAACAAAAAAANAO//BAACAAAAAAANAPD/BAACAAAAAAAPAO//BAACAAAAAAAPAPD/BAACAAAAAAAPAPH/BAACAAAAAAARAO//BAACAAAAAAARAPD/BAACAAAAAAARAPH/BAACAAAAAAARAPL/BAACAAAAAAATAO//BAACAAAAAAATAPD/BAACAAAAAAATAPH/BAACAAAAAAATAPL/BAACAAAAAAATAPP/BAACAAAAAAAVAPP/BAACAAAAAAAVAPL/BAACAAAAAAAVAPH/BAACAAAAAAAVAPD/BAACAAAAAAAVAO//BAACAAAAAAAXAO//BAACAAAAAAAXAPD/BAACAAAAAAAXAPH/BAACAAAAAAAXAPL/BAACAAAAAAAZAO//BAACAAAAAAAZAPD/BAACAAAAAAAZAPH/BAACAAAAAAAbAO//BAACAAAAAAAbAPD/BAACAAAAAAAdAO//BAACAAAAAAAhAO7/BAAAAAAAAAAiAO7/BAAAAAAAAAAjAO7/BAAAAAAAAAAkAO7/BAAAAAAAAAAlAO7/BAAAAAAAAAAmAO7/BAAAAAAAAAAnAO7/BAAAAAAAAAAhAO//BAABAAAAAAAiAO//BAABAAAAAAAjAO//BAABAAAAAAAkAO//BAABAAAAAAAlAO//BAABAAAAAAAmAO//BAABAAAAAAAnAO//BAABAAAAAAAxAO7/BAACAAAAAAA0AOT/BAACAAAAAAAiAAAABAABAAAAAAAjAAAABAABAAAAAAAkAAAABAABAAAAAAAlAAAABAABAAAAAAAmAAAABAABAAAAAAAnAAAABAABAAAAAAAoAAAABAABAAAAAAApAAAABAABAAAAAAAqAAAABAABAAAAAAArAAAABAABAAAAAAAsAAAABAABAAAAAAAtAAAABAABAAAAAAAuAAAABAABAAAAAAAvAAAABAABAAAAAAAwAAAABAABAAAAAAAxAAAABAABAAAAAAAyAAAABAABAAAAAAAzAAAABAABAAAAAAA0AAAABAABAAAAAAA1AAAABAABAAAAAAA2AAAABAABAAAAAAA3AAAABAABAAAAAAA4AAAABAABAAAAAAA5AAAABAABAAAAAAA6AAAABAABAAAAAAA7AAAABAABAAAAAAA8AAAABAABAAAAAAA9AAAABAABAAAAAAA+AAAABAABAAAAAAAxANr/BAAAAAAAAAAwANr/BAAAAAAAAAAvANr/BAAAAAAAAAAuANr/BAAAAAAAAAAtANr/BAAAAAAAAAAsANr/BAAAAAAAAAArANr/BAAAAAAAAAAqANr/BAAAAAAAAAApANr/BAAAAAAAAAAoANr/BAAAAAAAAAAxANv/BAABAAAAAAAwANv/BAABAAAAAAAvANv/BAABAAAAAAAuANv/BAABAAAAAAAtANv/BAABAAAAAAAsANv/BAABAAAAAAArANv/BAABAAAAAAAqANv/BAABAAAAAAApANv/BAABAAAAAAAoANv/BAABAAAAAAApANn/BAADAAAAAAAtANn/BAADAAAAAAApANb/BAAAAAAAAAApANf/BAAAAAAAAAAqANj/BAAAAAAAAAArANj/BAACAAAAAAAsANj/BAAAAAAAAAAtANj/BAAAAAAAAAAtANf/BAAAAAAAAAAtANb/BAAAAAAAAAAsANb/BAAAAAAAAAArANb/BAACAAAAAAAqANb/BAAAAAAAAAApANj/BAAAAAAAAAAqANf/BAAAAAAAAAArANf/BAACAAAAAAAsANf/BAAAAAAAAAAqANP/BAACAAAAAAAqANT/BAABAAAAAAAqANX/BAABAAAAAAArANX/BAABAAAAAAAsANX/BAABAAAAAAAtANX/BAABAAAAAAAtANT/BAADAAAAAAAtANP/BAACAAAAAAAsANP/BAACAAAAAAArANP/BAACAAAAAAArANT/BAADAAAAAAAsANT/BAABAAAAAAAuANb/BAAAAAAAAAAvANb/BAABAAAAAAAoANf/BAABAAAAAAAoANb/BAAAAAAAAAAqANL/BAACAAAAAAArANL/BAACAAAAAAAsANL/BAACAAAAAAAtANL/BAACAAAAAAApANP/BAACAAAAAAApANT/BAACAAAAAAApANX/BAABAAAAAAA=") @@ -35,20 +39,22 @@ position = Vector2(128, 384) [node name="Camera2D" type="Camera2D" parent="BoxBoy" unique_id=1516732087] metadata/_edit_lock_ = true -[node name="Bouncy1" parent="." unique_id=1291132789 instance=ExtResource("4_u3cyc")] +[node name="BouncyContainer" type="Node" parent="." unique_id=1771839640] + +[node name="Bouncy1" parent="BouncyContainer" unique_id=1291132789 instance=ExtResource("4_u3cyc")] position = Vector2(648, 416) -[node name="Bouncy2" parent="." unique_id=1550391686 instance=ExtResource("4_u3cyc")] +[node name="Bouncy2" parent="BouncyContainer" unique_id=1550391686 instance=ExtResource("4_u3cyc")] position = Vector2(160, 64) -[node name="Bouncy3" parent="." unique_id=2049298793 instance=ExtResource("4_u3cyc")] +[node name="Bouncy3" parent="BouncyContainer" unique_id=2049298793 instance=ExtResource("4_u3cyc")] position = Vector2(480, 64) -[node name="Bouncy4" parent="." unique_id=1029215451 instance=ExtResource("4_u3cyc")] +[node name="Bouncy4" parent="BouncyContainer" unique_id=1029215451 instance=ExtResource("4_u3cyc")] position = Vector2(32, -256) -[node name="Bouncy5" parent="." unique_id=1920874516 instance=ExtResource("4_u3cyc")] +[node name="Bouncy5" parent="BouncyContainer" unique_id=1920874516 instance=ExtResource("4_u3cyc")] position = Vector2(1584, -576) -[node name="Bouncy6" parent="." unique_id=2085472449 instance=ExtResource("4_u3cyc")] +[node name="Bouncy6" parent="BouncyContainer" unique_id=2085472449 instance=ExtResource("4_u3cyc")] position = Vector2(1680, -896)