From 59ea5dd6f0ca76b81dc61d60e91ed07657089ba8 Mon Sep 17 00:00:00 2001 From: Tony Bark <35226681+tonytins@users.noreply.github.com> Date: Thu, 20 May 2021 18:17:44 -0400 Subject: [PATCH] Advisor dialogs - WIP debug/cheat console - Rewrote README - Updated Zack's avatar with something made by me --- README.md | 13 +--- dialog/cityplanner.json | 2 +- dialog/finacial.json | 6 ++ project.godot | 4 +- scenes/Credits.tscn | 46 +++++++++++++ scenes/DebugConsole.tscn | 30 +++++++++ scenes/advisors/Advise.tscn | 9 ++- scenes/game.tscn | 117 +++++++++++++++------------------ scripts/Adviser.gd | 8 +-- scripts/core_gui.gd | 11 ++++ scripts/debug_console.gd | 14 ++++ sprites/avatars/kit.png | Bin 0 -> 10429 bytes sprites/avatars/kit.png.import | 34 ++++++++++ sprites/avatars/zc.png | Bin 46738 -> 1249 bytes 14 files changed, 206 insertions(+), 88 deletions(-) create mode 100644 dialog/finacial.json create mode 100644 scenes/Credits.tscn create mode 100644 scenes/DebugConsole.tscn create mode 100644 scripts/core_gui.gd create mode 100644 scripts/debug_console.gd create mode 100644 sprites/avatars/kit.png create mode 100644 sprites/avatars/kit.png.import mode change 100755 => 100644 sprites/avatars/zc.png diff --git a/README.md b/README.md index 203cdc5..4882738 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![Screenshot](screenshot.png) -A city building game based on Godot using the Micropolis assets (initially). +City Limits is a reimagining of SimCity Classic that contains features and concepts from later iterations. Such as advisors, free zones, news tickers, neighboring cities, and so on. ## Getting Started @@ -17,17 +17,6 @@ A city building game based on Godot using the Micropolis assets (initially). See also the list of [contributors](https://github.com/tonytins/citylimits/contributors) who participated in this project. -## To-do - -With the exception of the world generator, this isn't any real order. - -- [x] Map generator -- [x] Currency -- [x] Mayor mode -- [ ] Save & load maps - -Note: this is subject to change in the future. - ## License This project is licensed under the Artistic-2.0 License - see the [LICENSE](LICENSE) file for details diff --git a/dialog/cityplanner.json b/dialog/cityplanner.json index b473ab0..b581019 100644 --- a/dialog/cityplanner.json +++ b/dialog/cityplanner.json @@ -1,6 +1,6 @@ { "1": { "name": "Roll up your sleeves, Mayor!", - "text": "Welcome to City Limits! I'm Zack, and I'll be your city planner." + "text": "Welcome to City Limits! I'm Zack, and I'll be your city planner. I'll help you with zoning, land values, and handling connections to and from the city." } } \ No newline at end of file diff --git a/dialog/finacial.json b/dialog/finacial.json new file mode 100644 index 0000000..5ce9410 --- /dev/null +++ b/dialog/finacial.json @@ -0,0 +1,6 @@ +{ + "1": { + "name": "Let's get number crunching.", + "text": "Hello, Mayor, I'm Kit Welsh. I'll be your financial advisor. I control the income and expenditures for your city. I'll keep you up-to-date on expenditures and let you know if we may need to lower or rise taxes." + } +} \ No newline at end of file diff --git a/project.godot b/project.godot index e2fa911..d38f13f 100644 --- a/project.godot +++ b/project.godot @@ -39,9 +39,7 @@ enabled=PoolStringArray( ) ui_cheats={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777238,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":67,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":96,"unicode":0,"echo":false,"script":null) ] } diff --git a/scenes/Credits.tscn b/scenes/Credits.tscn new file mode 100644 index 0000000..253b057 --- /dev/null +++ b/scenes/Credits.tscn @@ -0,0 +1,46 @@ +[gd_scene format=2] + +[node name="Credits" type="WindowDialog"] +visible = true +anchor_left = 0.394043 +anchor_top = 0.293333 +anchor_right = 0.605957 +anchor_bottom = 0.706667 +window_title = "Credits" +__meta__ = { +"_edit_use_anchors_": true +} + +[node name="RichText" type="RichTextLabel" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +bbcode_enabled = true +bbcode_text = "[center] +Developed by +Tony Bark + +Assets by +Maxis + +Powered by +Godot Engine + +Inspired by +SimCity +[/center]" +text = " +Developed by +Tony Bark + +Assets by +Maxis + +Powered by +Godot Engine + +Inspired by +SimCity +" +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/scenes/DebugConsole.tscn b/scenes/DebugConsole.tscn new file mode 100644 index 0000000..63a96d7 --- /dev/null +++ b/scenes/DebugConsole.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://scripts/debug_console.gd" type="Script" id=1] + +[node name="DebugConsole" type="Control"] +anchor_right = 1.0 +margin_bottom = 113.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Output" type="TextEdit" parent="."] +anchor_right = 1.0 +anchor_bottom = 0.752212 +readonly = true +wrap_enabled = true +__meta__ = { +"_edit_use_anchors_": true +} + +[node name="Input" type="LineEdit" parent="."] +anchor_top = 0.787611 +anchor_right = 1.0 +anchor_bottom = 1.0 +caret_blink = true +caret_blink_speed = 0.5 +__meta__ = { +"_edit_use_anchors_": true +} diff --git a/scenes/advisors/Advise.tscn b/scenes/advisors/Advise.tscn index f7a5592..1e44fa0 100644 --- a/scenes/advisors/Advise.tscn +++ b/scenes/advisors/Advise.tscn @@ -1,8 +1,11 @@ [gd_scene load_steps=3 format=2] -[ext_resource path="res://sprites/avatars/zc.png" type="Texture" id=1] [ext_resource path="res://scripts/Adviser.gd" type="Script" id=2] +[sub_resource type="StreamTexture" id=1] +flags = 4 +load_path = "res://.import/zc.png-c7ffa83bf28af8def63c79202632e383.stex" + [node name="AdvsiorNotice" type="AcceptDialog"] anchor_left = 0.293945 anchor_top = 0.303333 @@ -13,9 +16,9 @@ __meta__ = { "_edit_use_anchors_": true } dialogue_file = "res://dialog/cityplanner.json" -advisor_name = "Zack Casey" +character = "Zack Casey" rank = "City Planner" -avatar = ExtResource( 1 ) +avatar = SubResource( 1 ) [node name="Container" type="HSplitContainer" parent="."] anchor_right = 1.0 diff --git a/scenes/game.tscn b/scenes/game.tscn index b2affd4..13be3c9 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=29 format=2] +[gd_scene load_steps=31 format=2] [ext_resource path="res://scenes/Map.tscn" type="PackedScene" id=1] [ext_resource path="res://scenes/advisors/Advise.tscn" type="PackedScene" id=2] @@ -20,7 +20,7 @@ [ext_resource path="res://sprites/ui/iccoalhi.png" type="Texture" id=18] [ext_resource path="res://sprites/ui/iccoal.png" type="Texture" id=19] [ext_resource path="res://scripts/game.gd" type="Script" id=20] -[ext_resource path="res://sprites/ui/demandg.png" type="Texture" id=21] +[ext_resource path="res://scenes/DebugConsole.tscn" type="PackedScene" id=21] [ext_resource path="res://sprites/ui/icparkhi.png" type="Texture" id=22] [ext_resource path="res://sprites/ui/icnuc.png" type="Texture" id=23] [ext_resource path="res://sprites/ui/icpark.png" type="Texture" id=24] @@ -28,6 +28,8 @@ [ext_resource path="res://sprites/ui/icseap.png" type="Texture" id=26] [ext_resource path="res://sprites/ui/icseaphi.png" type="Texture" id=27] [ext_resource path="res://sprites/ui/icstad.png" type="Texture" id=28] +[ext_resource path="res://scripts/core_gui.gd" type="Script" id=29] +[ext_resource path="res://sprites/avatars/zc.png" type="Texture" id=30] [node name="Game" type="Node2D"] script = ExtResource( 20 ) @@ -40,7 +42,7 @@ autostart = true [node name="Controls" type="CanvasLayer" parent="."] -[node name="GUI" type="Control" parent="Controls"] +[node name="Core" type="Control" parent="Controls"] anchor_left = -0.000731155 anchor_top = -0.000954026 anchor_right = 0.999269 @@ -49,14 +51,23 @@ margin_left = -0.172424 margin_top = 2.77234 margin_right = -0.172424 margin_bottom = 2.77234 +script = ExtResource( 29 ) __meta__ = { "_edit_use_anchors_": false } -[node name="AdvsiorNotice" parent="Controls/GUI" instance=ExtResource( 2 )] +[node name="Console" parent="Controls/Core" instance=ExtResource( 21 )] +visible = false +anchor_left = 0.00585937 +anchor_right = 0.994141 +anchor_bottom = 0.185 +margin_bottom = 0.0 -[node name="StatusPanel" type="Panel" parent="Controls/GUI"] -anchor_left = 0.517578 +[node name="AdvsiorNotice" parent="Controls/Core" instance=ExtResource( 2 )] +avatar = ExtResource( 30 ) + +[node name="StatusPanel" type="Panel" parent="Controls/Core"] +anchor_left = 0.52832 anchor_top = 0.830002 anchor_right = 0.640625 anchor_bottom = 1.0 @@ -64,45 +75,38 @@ __meta__ = { "_edit_use_anchors_": true } -[node name="StatusCtr" type="CenterContainer" parent="Controls/GUI/StatusPanel"] +[node name="StatusCtr" type="CenterContainer" parent="Controls/Core/StatusPanel"] anchor_right = 1.0 anchor_bottom = 1.0 __meta__ = { "_edit_use_anchors_": false } -[node name="StatBox" type="HBoxContainer" parent="Controls/GUI/StatusPanel/StatusCtr"] -margin_left = 8.0 -margin_top = 25.0 -margin_right = 117.0 -margin_bottom = 75.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="InfoBox" type="VBoxContainer" parent="Controls/GUI/StatusPanel/StatusCtr/StatBox"] -margin_right = 66.0 -margin_bottom = 50.0 +[node name="InfoBox" type="VBoxContainer" parent="Controls/Core/StatusPanel/StatusCtr"] +margin_left = 24.0 +margin_top = 26.0 +margin_right = 90.0 +margin_bottom = 76.0 alignment = 1 script = ExtResource( 3 ) __meta__ = { "_edit_use_anchors_": false } -[node name="CityNameLbl" type="Label" parent="Controls/GUI/StatusPanel/StatusCtr/StatBox/InfoBox"] +[node name="CityNameLbl" type="Label" parent="Controls/Core/StatusPanel/StatusCtr/InfoBox"] margin_right = 66.0 margin_bottom = 14.0 text = "City Name" align = 1 -[node name="YearLbl" type="Label" parent="Controls/GUI/StatusPanel/StatusCtr/StatBox/InfoBox"] +[node name="YearLbl" type="Label" parent="Controls/Core/StatusPanel/StatusCtr/InfoBox"] margin_top = 18.0 margin_right = 66.0 margin_bottom = 32.0 text = "Y1980" align = 1 -[node name="Money" type="HBoxContainer" parent="Controls/GUI/StatusPanel/StatusCtr/StatBox/InfoBox"] +[node name="Money" type="HBoxContainer" parent="Controls/Core/StatusPanel/StatusCtr/InfoBox"] margin_top = 36.0 margin_right = 66.0 margin_bottom = 50.0 @@ -111,36 +115,19 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="CurrencyLbl" type="Label" parent="Controls/GUI/StatusPanel/StatusCtr/StatBox/InfoBox/Money"] +[node name="CurrencyLbl" type="Label" parent="Controls/Core/StatusPanel/StatusCtr/InfoBox/Money"] margin_left = 23.0 margin_right = 30.0 margin_bottom = 14.0 text = "ยง" -[node name="MoneyLbl" type="Label" parent="Controls/GUI/StatusPanel/StatusCtr/StatBox/InfoBox/Money"] +[node name="MoneyLbl" type="Label" parent="Controls/Core/StatusPanel/StatusCtr/InfoBox/Money"] margin_left = 34.0 margin_right = 42.0 margin_bottom = 14.0 text = "0" -[node name="RciBox" type="CenterContainer" parent="Controls/GUI/StatusPanel/StatusCtr/StatBox"] -margin_left = 70.0 -margin_right = 109.0 -margin_bottom = 50.0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="RciBtn" type="TextureButton" parent="Controls/GUI/StatusPanel/StatusCtr/StatBox/RciBox"] -margin_top = 1.0 -margin_right = 39.0 -margin_bottom = 48.0 -texture_normal = ExtResource( 21 ) -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="BuyPanel" type="Panel" parent="Controls/GUI"] +[node name="BuyPanel" type="Panel" parent="Controls/Core"] anchor_left = 1.0 anchor_top = 1.0 anchor_right = 1.0 @@ -153,7 +140,7 @@ __meta__ = { "_edit_use_anchors_": true } -[node name="Tabs" type="TabContainer" parent="Controls/GUI/BuyPanel"] +[node name="Tabs" type="TabContainer" parent="Controls/Core/BuyPanel"] anchor_left = 0.00144509 anchor_top = -0.0294118 anchor_right = 1.0 @@ -162,7 +149,7 @@ __meta__ = { "_edit_use_anchors_": true } -[node name="Zones" type="Tabs" parent="Controls/GUI/BuyPanel/Tabs"] +[node name="Zones" type="Tabs" parent="Controls/Core/BuyPanel/Tabs"] anchor_right = 1.0 anchor_bottom = 1.0 margin_left = 4.0 @@ -170,34 +157,34 @@ margin_top = 32.0 margin_right = -4.0 margin_bottom = -4.0 -[node name="ZonesCtr" type="HBoxContainer" parent="Controls/GUI/BuyPanel/Tabs/Zones"] +[node name="ZonesCtr" type="HBoxContainer" parent="Controls/Core/BuyPanel/Tabs/Zones"] anchor_right = 1.0 anchor_bottom = 1.0 __meta__ = { "_edit_use_anchors_": false } -[node name="ResBtn" type="TextureButton" parent="Controls/GUI/BuyPanel/Tabs/Zones/ZonesCtr"] +[node name="ResBtn" type="TextureButton" parent="Controls/Core/BuyPanel/Tabs/Zones/ZonesCtr"] margin_right = 34.0 margin_bottom = 69.0 texture_normal = ExtResource( 9 ) texture_pressed = ExtResource( 10 ) -[node name="ComBtn" type="TextureButton" parent="Controls/GUI/BuyPanel/Tabs/Zones/ZonesCtr"] +[node name="ComBtn" type="TextureButton" parent="Controls/Core/BuyPanel/Tabs/Zones/ZonesCtr"] margin_left = 38.0 margin_right = 72.0 margin_bottom = 69.0 texture_normal = ExtResource( 5 ) texture_pressed = ExtResource( 8 ) -[node name="IndBtn" type="TextureButton" parent="Controls/GUI/BuyPanel/Tabs/Zones/ZonesCtr"] +[node name="IndBtn" type="TextureButton" parent="Controls/Core/BuyPanel/Tabs/Zones/ZonesCtr"] margin_left = 76.0 margin_right = 110.0 margin_bottom = 69.0 texture_normal = ExtResource( 13 ) texture_pressed = ExtResource( 12 ) -[node name="Small" type="Tabs" parent="Controls/GUI/BuyPanel/Tabs"] +[node name="Small" type="Tabs" parent="Controls/Core/BuyPanel/Tabs"] visible = false anchor_right = 1.0 anchor_bottom = 1.0 @@ -206,7 +193,7 @@ margin_top = 32.0 margin_right = -4.0 margin_bottom = -4.0 -[node name="SmallCtr" type="HBoxContainer" parent="Controls/GUI/BuyPanel/Tabs/Small"] +[node name="SmallCtr" type="HBoxContainer" parent="Controls/Core/BuyPanel/Tabs/Small"] anchor_right = 1.0 anchor_bottom = 1.41667 margin_bottom = -10.0 @@ -214,27 +201,27 @@ __meta__ = { "_edit_use_anchors_": true } -[node name="PoliceBtn" type="TextureButton" parent="Controls/GUI/BuyPanel/Tabs/Small/SmallCtr"] +[node name="PoliceBtn" type="TextureButton" parent="Controls/Core/BuyPanel/Tabs/Small/SmallCtr"] margin_right = 34.0 margin_bottom = 34.0 texture_normal = ExtResource( 4 ) texture_pressed = ExtResource( 16 ) -[node name="FireBtn" type="TextureButton" parent="Controls/GUI/BuyPanel/Tabs/Small/SmallCtr"] +[node name="FireBtn" type="TextureButton" parent="Controls/Core/BuyPanel/Tabs/Small/SmallCtr"] margin_left = 38.0 margin_right = 72.0 margin_bottom = 34.0 texture_normal = ExtResource( 6 ) texture_pressed = ExtResource( 11 ) -[node name="ParkBtn" type="TextureButton" parent="Controls/GUI/BuyPanel/Tabs/Small/SmallCtr"] +[node name="ParkBtn" type="TextureButton" parent="Controls/Core/BuyPanel/Tabs/Small/SmallCtr"] margin_left = 76.0 margin_right = 110.0 margin_bottom = 34.0 texture_normal = ExtResource( 24 ) texture_pressed = ExtResource( 22 ) -[node name="Large" type="Tabs" parent="Controls/GUI/BuyPanel/Tabs"] +[node name="Large" type="Tabs" parent="Controls/Core/BuyPanel/Tabs"] visible = false anchor_right = 1.0 anchor_bottom = 1.0 @@ -243,40 +230,40 @@ margin_top = 32.0 margin_right = -4.0 margin_bottom = -4.0 -[node name="LargeCtr" type="HBoxContainer" parent="Controls/GUI/BuyPanel/Tabs/Large"] +[node name="LargeCtr" type="HBoxContainer" parent="Controls/Core/BuyPanel/Tabs/Large"] anchor_right = 1.0 anchor_bottom = 1.0 __meta__ = { "_edit_use_anchors_": false } -[node name="TextureButton" type="TextureButton" parent="Controls/GUI/BuyPanel/Tabs/Large/LargeCtr"] +[node name="TextureButton" type="TextureButton" parent="Controls/Core/BuyPanel/Tabs/Large/LargeCtr"] margin_right = 42.0 margin_bottom = 69.0 texture_normal = ExtResource( 28 ) -[node name="TextureButton2" type="TextureButton" parent="Controls/GUI/BuyPanel/Tabs/Large/LargeCtr"] +[node name="TextureButton2" type="TextureButton" parent="Controls/Core/BuyPanel/Tabs/Large/LargeCtr"] margin_left = 46.0 margin_right = 88.0 margin_bottom = 69.0 texture_normal = ExtResource( 26 ) texture_pressed = ExtResource( 27 ) -[node name="NuclearBtn" type="TextureButton" parent="Controls/GUI/BuyPanel/Tabs/Large/LargeCtr"] +[node name="NuclearBtn" type="TextureButton" parent="Controls/Core/BuyPanel/Tabs/Large/LargeCtr"] margin_left = 92.0 margin_right = 134.0 margin_bottom = 69.0 texture_normal = ExtResource( 23 ) texture_pressed = ExtResource( 25 ) -[node name="CoalBtn" type="TextureButton" parent="Controls/GUI/BuyPanel/Tabs/Large/LargeCtr"] +[node name="CoalBtn" type="TextureButton" parent="Controls/Core/BuyPanel/Tabs/Large/LargeCtr"] margin_left = 138.0 margin_right = 180.0 margin_bottom = 69.0 texture_normal = ExtResource( 19 ) texture_pressed = ExtResource( 18 ) -[node name="Tools" type="Tabs" parent="Controls/GUI/BuyPanel/Tabs"] +[node name="Tools" type="Tabs" parent="Controls/Core/BuyPanel/Tabs"] visible = false anchor_right = 1.0 anchor_bottom = 1.0 @@ -285,20 +272,20 @@ margin_top = 32.0 margin_right = -4.0 margin_bottom = -4.0 -[node name="ToolsCtr" type="HBoxContainer" parent="Controls/GUI/BuyPanel/Tabs/Tools"] +[node name="ToolsCtr" type="HBoxContainer" parent="Controls/Core/BuyPanel/Tabs/Tools"] anchor_right = 1.33228 anchor_bottom = 2.83333 __meta__ = { "_edit_use_anchors_": true } -[node name="InfoBtn" type="TextureButton" parent="Controls/GUI/BuyPanel/Tabs/Tools/ToolsCtr"] +[node name="InfoBtn" type="TextureButton" parent="Controls/Core/BuyPanel/Tabs/Tools/ToolsCtr"] margin_right = 34.0 margin_bottom = 68.0 texture_normal = ExtResource( 15 ) texture_pressed = ExtResource( 14 ) -[node name="BulldozeBtn" type="TextureButton" parent="Controls/GUI/BuyPanel/Tabs/Tools/ToolsCtr"] +[node name="BulldozeBtn" type="TextureButton" parent="Controls/Core/BuyPanel/Tabs/Tools/ToolsCtr"] margin_left = 38.0 margin_right = 72.0 margin_bottom = 68.0 @@ -309,5 +296,5 @@ __meta__ = { } [connection signal="timeout" from="Quarters" to="." method="_on_Quarters_timeout"] -[connection signal="pressed" from="Controls/GUI/BuyPanel/Tabs/Zones/ZonesCtr/ResBtn" to="Map" method="_on_ResBtn_pressed"] -[connection signal="pressed" from="Controls/GUI/BuyPanel/Tabs/Large/LargeCtr/CoalBtn" to="Map" method="_on_CoalBtn_pressed"] +[connection signal="pressed" from="Controls/Core/BuyPanel/Tabs/Zones/ZonesCtr/ResBtn" to="Map" method="_on_ResBtn_pressed"] +[connection signal="pressed" from="Controls/Core/BuyPanel/Tabs/Large/LargeCtr/CoalBtn" to="Map" method="_on_CoalBtn_pressed"] diff --git a/scripts/Adviser.gd b/scripts/Adviser.gd index 5a1cf0d..26ca3b3 100644 --- a/scripts/Adviser.gd +++ b/scripts/Adviser.gd @@ -1,7 +1,8 @@ extends AcceptDialog export(String, FILE, "*.json") var dialogue_file -export var advisor_name: String +# "character" would be "name" but it's already used by the base class +export var character: String export var rank: String export(Texture) var avatar export var dialog = 0 @@ -18,7 +19,7 @@ onready var description_label = $Container/DescriptionLbl func start_dialogue(): index_dialogue() description_label.text = dialogue_keys[dialog].text - self.window_title = dialogue_keys[dialog].name + window_title = dialogue_keys[dialog].name func index_dialogue(): @@ -36,8 +37,7 @@ func load_dialogue(file_path): func _ready(): load_dialogue(dialogue_file) - self.show() start_dialogue() avatar_texture.texture = avatar - name_label.text = advisor_name + name_label.text = character rank_label.text = rank diff --git a/scripts/core_gui.gd b/scripts/core_gui.gd new file mode 100644 index 0000000..955a0fb --- /dev/null +++ b/scripts/core_gui.gd @@ -0,0 +1,11 @@ +extends Control + +onready var debug_console = $Console +onready var advisor = $AdvsiorNotice + +func _ready(): + advisor.show() + +func _process(delta): + if Input.is_action_just_released("ui_cheats"): + debug_console.show() diff --git a/scripts/debug_console.gd b/scripts/debug_console.gd new file mode 100644 index 0000000..cd549fd --- /dev/null +++ b/scripts/debug_console.gd @@ -0,0 +1,14 @@ +extends Control + +onready var input_box = $Input +onready var output_box = $Output + +func _ready(): + input_box.grab_focus() + +func output_text(text): + output_box.text = text + "\n" + +func _on_Input_text_entered(new_text): + input_box.clear() + output_text(new_text) diff --git a/sprites/avatars/kit.png b/sprites/avatars/kit.png new file mode 100644 index 0000000000000000000000000000000000000000..261c6b2b71d79e28bfde49532ef4332a75e8fbc2 GIT binary patch literal 10429 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 TV4$bqVM!si&S{pbJB0lgv;99{ literal 0 HcmV?d00001 diff --git a/sprites/avatars/kit.png.import b/sprites/avatars/kit.png.import new file mode 100644 index 0000000..25d1e5b --- /dev/null +++ b/sprites/avatars/kit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/kit.png-8275ee4c1db28f6ed496cab95bfd1e82.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/avatars/kit.png" +dest_files=[ "res://.import/kit.png-8275ee4c1db28f6ed496cab95bfd1e82.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/sprites/avatars/zc.png b/sprites/avatars/zc.png old mode 100755 new mode 100644 index 31242035c310c02ab66285a1c46897f1fbcaff1e..119eb8d0c4e5fa9ef9ca3038a64d5b5441728ce9 GIT binary patch delta 1231 zcmbRAmgynq1m$|hmP}{o08eLUg@U5|w9K4T1_q6ZwG(YU4m-#kjSu!-8p3i`;n9SJ zR*?dtg6eCX1hrbC7KXBazNnvZX~L2n7F_FC+3m$v^XZ-2WwnE==>dDk?AenSbx--R zf5`=-w`);kY;wc0+i6xa1vc#rRs7Q>Q1K zIi_T0^2|LmJ9$CmAcBl}~xF-Aj_l?3?>JA?ycU-#tFN=A`Kb5`rt|hrUyf-T-ynF45 z?SmqAi3%f?;G(4pzUu-Q?wx-zyU5|cu0Z7Hs_eIqzc8K%2wy4v;DLaIX3)1?=Xcld zwyysD-DmZF`6kn%wT+p(4H+1iB|KdmLn`LHon@UT;wa*p{o{mEqUendjue#~CZqNf zIt{WL7@wR_a=OQ0oxrHzWF%D3Ak%ElD71-ZQyYWru~_4$|9ndK2CuE&G%wSCdg<#g ztHbYZUiIqzg!F7Iu=G<_|bBvW$O ztF@D-h?d*!(<}U$H9^s!i@m6Di@aXnxBv31mzhjdG`PbwQFAqr&a2=*ptJMer&^B0 zjZ)S&b=O{(-}`sxthIr93J1@2yZR?Ze|PlEO!{J~y3DK?DD++G(y`U<@0~af`&QQd z{(S2E%4a78B#vfvoDG@%(d~Ma(B`~c!;ED>u^UoC-__mpjC*z*tB_W9PDtSGJeljp zWqjavts=^o_e6t zS)tc%1pE>N`l_gH%UizV)tMhF?`?HyJFw!|gnj2-cg=gB>jKg>OEK5~mDgAG++{a5 z*PXIHX2f#rg{jJS+o~7F-zrL7UE2)h}9Q$P>g zv+9)Gb;_&smNT#C-mjOA<(P3Ro|tg5K6p>?`MdQ?&PZ5&-fcAh|L%=_ceWk|^6q4N%r;#4Uc5Ro_4bO5XAFShX72p!U8(H- z-S;j2eR!twykMHd?G_OumbTk*VbWp7NybULW<4@}{96eWPB-sZN`EQeXy_krQhz`0 z|G%f#9vDt_Xgg5w-g#H?ydO1-3sc;dWOdJUHwF6Xz|{#)Z%s5(PFwtUis%I&V3ewf zoTz+}ce&~8+|38IcNxwIP`J#n=hQ3v+shkx8XFB;O60!-0}m-R9aytz&xN=!!?xU| z70rf6(q8@g>k-ZI@w<^rj635of#gK5b+>(Ex9fsppz+VIkGHEivJH1SWVttjOi`2c mI9r-Bsqsn=Q{zI1gg>miIPdq1);V8h00K`}KbLh*2~7Z1d_oBT literal 46738 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 B<>LSV