waited far too long for an initial commit but here we are

This commit is contained in:
2023-11-08 14:28:55 +11:00
commit 0427a58635
299 changed files with 10191 additions and 0 deletions

View File

@ -0,0 +1,10 @@
[gd_scene load_steps=3 format=3 uid="uid://ri8r03wqy80t"]
[ext_resource type="Script" path="res://Scripts/eight_direction_sprite.gd" id="1_ipfb5"]
[ext_resource type="Texture2D" uid="uid://bf3gkg7f2oyg7" path="res://Assets/TextureAtlases/player.tres" id="2_kkoy2"]
[node name="EightDirectionSprite" type="Sprite3D"]
billboard = 2
texture_filter = 0
texture = ExtResource("2_kkoy2")
script = ExtResource("1_ipfb5")

View File

@ -0,0 +1,32 @@
[gd_scene load_steps=2 format=3 uid="uid://3kcl30sump8c"]
[ext_resource type="Script" path="res://Scripts/loadout_editor.gd" id="1_y0cit"]
[node name="Panel" type="Panel"]
anchors_preset = 4
anchor_top = 0.5
anchor_bottom = 0.5
offset_left = 90.0
offset_top = -142.5
offset_right = 545.0
offset_bottom = 142.5
grow_vertical = 2
script = ExtResource("1_y0cit")
[node name="HBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.0
offset_top = -20.0
offset_right = 20.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
[node name="Label" type="Label" parent="HBoxContainer"]
layout_mode = 2
text = "Choose Character"

View File

@ -0,0 +1,27 @@
[gd_scene load_steps=2 format=3 uid="uid://6a277g802os0"]
[ext_resource type="Script" path="res://Scripts/alert_popup.gd" id="1_cac03"]
[node name="Control" type="PanelContainer"]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_cac03")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 2
[node name="Label" type="Label" parent="VBoxContainer"]
layout_mode = 2
text = "Unable to connect to server"
[node name="Button" type="Button" parent="VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 8
text = "OK"
[connection signal="pressed" from="VBoxContainer/Button" to="." method="_on_button_pressed"]

View File

@ -0,0 +1,38 @@
[gd_scene load_steps=2 format=3 uid="uid://f46qh73hrk4y"]
[ext_resource type="Script" path="res://Scripts/confirmation_popup.gd" id="1_x7akt"]
[node name="ConfirmationPopup" type="PanelContainer"]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -67.5
offset_top = -30.5
offset_right = 67.5
offset_bottom = 30.5
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_x7akt")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 2
[node name="Label" type="Label" parent="VBoxContainer"]
layout_mode = 2
text = "Some Text?"
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
layout_mode = 2
[node name="Confirm" type="Button" parent="VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "Confirm"
[node name="Cancel" type="Button" parent="VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "Cancel"
[connection signal="pressed" from="VBoxContainer/HBoxContainer/Confirm" to="." method="_on_confirm_pressed"]
[connection signal="pressed" from="VBoxContainer/HBoxContainer/Cancel" to="." method="_on_cancel_pressed"]

View File

@ -0,0 +1,60 @@
[gd_scene load_steps=2 format=3 uid="uid://dsydnch32qh2h"]
[ext_resource type="Script" path="res://Scripts/lost_game_screen.gd" id="1_1pne8"]
[node name="Control" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_1pne8")
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 0.615686)
[node name="Label" type="Label" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.5
anchor_right = 0.5
offset_left = -33.5
offset_top = 145.0
offset_right = 33.5
offset_bottom = 26.0
grow_horizontal = 2
text = "You Lost"
[node name="RestartButton" type="Button" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.5
anchor_right = 0.5
offset_left = -44.0
offset_top = 270.0
offset_right = -161.0
offset_bottom = 31.0
grow_horizontal = 2
text = "Play Again"
[node name="QuitButton" type="Button" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.5
anchor_right = 0.5
offset_left = 264.0
offset_top = 270.0
offset_right = 21.0
offset_bottom = 31.0
grow_horizontal = 2
text = "Quit"
[connection signal="pressed" from="RestartButton" to="." method="_on_restart_button_pressed"]
[connection signal="pressed" from="QuitButton" to="." method="_on_quit_button_pressed"]

104
Scenes/Menus/main_menu.tscn Normal file
View File

@ -0,0 +1,104 @@
[gd_scene load_steps=3 format=3 uid="uid://8yv7excojcg0"]
[ext_resource type="Theme" uid="uid://b6a0ip4p72tgx" path="res://new_theme.tres" id="1_p1cib"]
[ext_resource type="Script" path="res://Scripts/main_menu.gd" id="2_ivytu"]
[node name="MainMenu" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_p1cib")
script = ExtResource("2_ivytu")
[node name="Title" type="PanelContainer" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.5
anchor_right = 0.5
offset_left = -559.5
offset_top = 25.0
offset_right = 559.5
offset_bottom = 88.0
grow_horizontal = 2
[node name="Label" type="Label" parent="Title"]
layout_mode = 2
text = "MULTIPLAYER TOWER DEFENSE CARD GAME ROGUELIKE !!!"
horizontal_alignment = 1
[node name="MainControls" type="PanelContainer" parent="."]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -71.0
offset_top = -81.0
offset_right = 71.0
offset_bottom = 81.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer" parent="MainControls"]
layout_mode = 2
[node name="PlayButton" type="Button" parent="MainControls/VBoxContainer"]
layout_mode = 2
text = "Play"
[node name="MultiplayerButton" type="Button" parent="MainControls/VBoxContainer"]
layout_mode = 2
text = "Multiplayer"
[node name="OptionsButton" type="Button" parent="MainControls/VBoxContainer"]
layout_mode = 2
text = "Options
"
[node name="QuitButton" type="Button" parent="MainControls/VBoxContainer"]
layout_mode = 2
text = "Quit
"
[node name="ProfileEditor" type="PanelContainer" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -181.5
offset_top = -140.0
offset_right = 181.5
offset_bottom = -30.0
grow_horizontal = 2
grow_vertical = 0
[node name="VBoxContainer" type="VBoxContainer" parent="ProfileEditor"]
layout_mode = 2
[node name="Label" type="Label" parent="ProfileEditor/VBoxContainer"]
layout_mode = 2
text = "Display Name
"
[node name="HBoxContainer" type="HBoxContainer" parent="ProfileEditor/VBoxContainer"]
layout_mode = 2
[node name="DisplayName" type="Label" parent="ProfileEditor/VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "Dummy Name"
[node name="DisplayNameEdit" type="Button" parent="ProfileEditor/VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "Change"
[connection signal="pressed" from="MainControls/VBoxContainer/PlayButton" to="." method="_on_play_button_pressed"]
[connection signal="pressed" from="MainControls/VBoxContainer/MultiplayerButton" to="." method="_on_multiplayer_button_pressed"]
[connection signal="pressed" from="MainControls/VBoxContainer/OptionsButton" to="." method="_on_options_button_pressed"]
[connection signal="pressed" from="MainControls/VBoxContainer/QuitButton" to="." method="_on_quit_button_pressed"]
[connection signal="pressed" from="ProfileEditor/VBoxContainer/HBoxContainer/DisplayNameEdit" to="." method="_on_display_name_edit_pressed"]

View File

@ -0,0 +1,76 @@
[gd_scene load_steps=7 format=3 uid="uid://cwvprrvk4l2k0"]
[ext_resource type="Theme" uid="uid://b6a0ip4p72tgx" path="res://new_theme.tres" id="1_l1spu"]
[ext_resource type="Script" path="res://Scripts/multiplayer_lobby.gd" id="2_nb860"]
[ext_resource type="PackedScene" uid="uid://dpt3kpixawyby" path="res://Scenes/UI/scoreboard.tscn" id="3_f6bia"]
[ext_resource type="PackedScene" uid="uid://3kcl30sump8c" path="res://Scenes/Menus/LoadoutEditor.tscn" id="4_bmg55"]
[ext_resource type="PackedScene" uid="uid://bvfit0sy2tnw4" path="res://Scenes/Menus/server_form.tscn" id="5_bqbwv"]
[ext_resource type="PackedScene" uid="uid://ddmg342ff2qaq" path="res://Scenes/UI/chatbox.tscn" id="6_wtqwd"]
[node name="multiplayer_lobby" type="Control" node_paths=PackedStringArray("server_form", "scoreboard", "loadout_editor", "chatbox")]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme = ExtResource("1_l1spu")
script = ExtResource("2_nb860")
server_form = NodePath("ServerForm")
scoreboard = NodePath("Scoreboard")
loadout_editor = NodePath("Panel")
chatbox = NodePath("Chatbox")
[node name="ServerForm" parent="." instance=ExtResource("5_bqbwv")]
layout_mode = 1
offset_left = -151.0
offset_top = -112.0
offset_right = 151.0
offset_bottom = 112.0
[node name="Scoreboard" parent="." instance=ExtResource("3_f6bia")]
visible = false
layout_mode = 1
anchors_preset = -1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -472.0
offset_right = -50.0
grow_horizontal = 0
[node name="Panel" parent="." instance=ExtResource("4_bmg55")]
visible = false
layout_mode = 1
anchors_preset = -1
offset_left = 50.0
offset_right = 455.0
[node name="ReadyButton" type="Button" parent="."]
visible = false
layout_mode = 1
anchors_preset = -1
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -81.0
offset_top = 311.0
offset_right = -240.0
offset_bottom = 19.0
grow_horizontal = 0
grow_vertical = 2
text = "Ready"
[node name="Chatbox" parent="." instance=ExtResource("6_wtqwd")]
layout_mode = 1
offset_bottom = -507.0
[connection signal="player_connected" from="." to="Scoreboard" method="add_player"]
[connection signal="player_disconnected" from="." to="Scoreboard" method="remove_player"]
[connection signal="connect_button_pressed" from="ServerForm" to="." method="connect_to_server"]
[connection signal="connect_button_pressed" from="ServerForm" to="ServerForm" method="set_visible" binds= [false]]
[connection signal="host_button_pressed" from="ServerForm" to="." method="create_server"]
[connection signal="host_button_pressed" from="ServerForm" to="ServerForm" method="set_visible" binds= [false]]
[connection signal="pressed" from="ReadyButton" to="." method="ready_player"]
[connection signal="pressed" from="ReadyButton" to="ReadyButton" method="set_visible" binds= [false]]

View File

@ -0,0 +1,268 @@
[gd_scene load_steps=3 format=3 uid="uid://clulh7v8c7h85"]
[ext_resource type="Script" path="res://Scripts/options_menu.gd" id="1_bievw"]
[sub_resource type="ImageTexture" id="ImageTexture_03x6q"]
[node name="OptionsMenu" type="PanelContainer" node_paths=PackedStringArray("look_sens_slider", "look_sens_input", "toggle_sprint_checkbox", "vsync_dropdown", "aa_dropdown", "window_dropdown", "invert_lookY", "invert_lookX", "fov_input", "fov_slider")]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 30.0
offset_top = 30.0
offset_right = -30.0
offset_bottom = -30.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_bievw")
look_sens_slider = NodePath("VBoxContainer/TabContainer/Gameplay/MouseSens/HBoxContainer/HSlider")
look_sens_input = NodePath("VBoxContainer/TabContainer/Gameplay/MouseSens/HBoxContainer/SpinBox")
toggle_sprint_checkbox = NodePath("VBoxContainer/TabContainer/Gameplay/ToggleSprint/CenterContainer/CheckButton")
vsync_dropdown = NodePath("VBoxContainer/TabContainer/Graphics/VSync/OptionButton")
aa_dropdown = NodePath("VBoxContainer/TabContainer/Graphics/AntiAliasing/OptionButton")
window_dropdown = NodePath("VBoxContainer/TabContainer/Graphics/Windowed/OptionButton")
invert_lookY = NodePath("VBoxContainer/TabContainer/Gameplay/InvertMouseY/CenterContainer/CheckButton")
invert_lookX = NodePath("VBoxContainer/TabContainer/Gameplay/InvertMouseX/CenterContainer/CheckButton")
fov_input = NodePath("VBoxContainer/TabContainer/Graphics/FOV/HBoxContainer/SpinBox")
fov_slider = NodePath("VBoxContainer/TabContainer/Graphics/FOV/HBoxContainer/HSlider")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 2
[node name="TabContainer" type="TabContainer" parent="VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="Gameplay" type="VBoxContainer" parent="VBoxContainer/TabContainer"]
layout_mode = 2
[node name="MouseSens" type="HBoxContainer" parent="VBoxContainer/TabContainer/Gameplay"]
layout_mode = 2
alignment = 1
[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Gameplay/MouseSens"]
layout_mode = 2
size_flags_horizontal = 3
text = "Look Sensitivity"
horizontal_alignment = 1
vertical_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Gameplay/MouseSens"]
layout_mode = 2
size_flags_horizontal = 3
[node name="SpinBox" type="SpinBox" parent="VBoxContainer/TabContainer/Gameplay/MouseSens/HBoxContainer"]
layout_mode = 2
theme_override_icons/updown = SubResource("ImageTexture_03x6q")
step = 0.01
alignment = 1
update_on_text_changed = true
[node name="HSlider" type="HSlider" parent="VBoxContainer/TabContainer/Gameplay/MouseSens/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
step = 0.01
scrollable = false
[node name="ToggleSprint" type="HBoxContainer" parent="VBoxContainer/TabContainer/Gameplay"]
layout_mode = 2
[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Gameplay/ToggleSprint"]
layout_mode = 2
size_flags_horizontal = 3
text = "Toggle Sprint"
horizontal_alignment = 1
vertical_alignment = 1
[node name="CenterContainer" type="CenterContainer" parent="VBoxContainer/TabContainer/Gameplay/ToggleSprint"]
layout_mode = 2
size_flags_horizontal = 3
[node name="CheckButton" type="CheckButton" parent="VBoxContainer/TabContainer/Gameplay/ToggleSprint/CenterContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="InvertMouseY" type="HBoxContainer" parent="VBoxContainer/TabContainer/Gameplay"]
layout_mode = 2
[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Gameplay/InvertMouseY"]
layout_mode = 2
size_flags_horizontal = 3
text = "Invert Look Y"
horizontal_alignment = 1
vertical_alignment = 1
[node name="CenterContainer" type="CenterContainer" parent="VBoxContainer/TabContainer/Gameplay/InvertMouseY"]
layout_mode = 2
size_flags_horizontal = 3
[node name="CheckButton" type="CheckButton" parent="VBoxContainer/TabContainer/Gameplay/InvertMouseY/CenterContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="InvertMouseX" type="HBoxContainer" parent="VBoxContainer/TabContainer/Gameplay"]
layout_mode = 2
[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Gameplay/InvertMouseX"]
layout_mode = 2
size_flags_horizontal = 3
text = "Invert Look X"
horizontal_alignment = 1
vertical_alignment = 1
[node name="CenterContainer" type="CenterContainer" parent="VBoxContainer/TabContainer/Gameplay/InvertMouseX"]
layout_mode = 2
size_flags_horizontal = 3
[node name="CheckButton" type="CheckButton" parent="VBoxContainer/TabContainer/Gameplay/InvertMouseX/CenterContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="Graphics" type="VBoxContainer" parent="VBoxContainer/TabContainer"]
visible = false
layout_mode = 2
[node name="FOV" type="HBoxContainer" parent="VBoxContainer/TabContainer/Graphics"]
layout_mode = 2
alignment = 1
[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Graphics/FOV"]
layout_mode = 2
size_flags_horizontal = 3
text = "Field Of View"
horizontal_alignment = 1
vertical_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Graphics/FOV"]
layout_mode = 2
size_flags_horizontal = 3
[node name="SpinBox" type="SpinBox" parent="VBoxContainer/TabContainer/Graphics/FOV/HBoxContainer"]
layout_mode = 2
theme_override_icons/updown = SubResource("ImageTexture_03x6q")
min_value = 40.0
max_value = 160.0
value = 100.0
allow_greater = true
allow_lesser = true
alignment = 1
update_on_text_changed = true
[node name="HSlider" type="HSlider" parent="VBoxContainer/TabContainer/Graphics/FOV/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
min_value = 40.0
max_value = 160.0
value = 100.0
scrollable = false
[node name="VSync" type="HBoxContainer" parent="VBoxContainer/TabContainer/Graphics"]
layout_mode = 2
[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Graphics/VSync"]
layout_mode = 2
size_flags_horizontal = 3
text = "V-Sync"
horizontal_alignment = 1
vertical_alignment = 1
[node name="OptionButton" type="OptionButton" parent="VBoxContainer/TabContainer/Graphics/VSync"]
layout_mode = 2
size_flags_horizontal = 3
item_count = 4
selected = 1
popup/item_0/text = "Off"
popup/item_0/id = 0
popup/item_1/text = "On"
popup/item_1/id = 1
popup/item_2/text = "Adaptive"
popup/item_2/id = 2
popup/item_3/text = "Triple Buffered"
popup/item_3/id = 3
[node name="AntiAliasing" type="HBoxContainer" parent="VBoxContainer/TabContainer/Graphics"]
layout_mode = 2
[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Graphics/AntiAliasing"]
layout_mode = 2
size_flags_horizontal = 3
text = "Anti-Aliasing
"
horizontal_alignment = 1
vertical_alignment = 1
[node name="OptionButton" type="OptionButton" parent="VBoxContainer/TabContainer/Graphics/AntiAliasing"]
layout_mode = 2
size_flags_horizontal = 3
item_count = 3
selected = 0
popup/item_0/text = "Off"
popup/item_0/id = 0
popup/item_1/text = "FXAA"
popup/item_1/id = 1
popup/item_2/text = "TAA"
popup/item_2/id = 2
[node name="Windowed" type="HBoxContainer" parent="VBoxContainer/TabContainer/Graphics"]
layout_mode = 2
[node name="Label" type="Label" parent="VBoxContainer/TabContainer/Graphics/Windowed"]
layout_mode = 2
size_flags_horizontal = 3
text = "Window Mode"
horizontal_alignment = 1
vertical_alignment = 1
[node name="OptionButton" type="OptionButton" parent="VBoxContainer/TabContainer/Graphics/Windowed"]
layout_mode = 2
size_flags_horizontal = 3
item_count = 3
selected = 0
popup/item_0/text = "Windowed"
popup/item_0/id = 0
popup/item_1/text = "Borderless Windowed"
popup/item_1/id = 1
popup/item_2/text = "Fullscreen"
popup/item_2/id = 2
[node name="Keybinds" type="VBoxContainer" parent="VBoxContainer/TabContainer"]
visible = false
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TabContainer/Keybinds"]
layout_mode = 2
[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer/TabContainer/Keybinds"]
layout_mode = 2
size_flags_vertical = 3
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/TabContainer/Keybinds/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="Audio" type="VBoxContainer" parent="VBoxContainer/TabContainer"]
visible = false
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
layout_mode = 2
alignment = 2
[node name="Cancel" type="Button" parent="VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "Discard"
[node name="Confirm" type="Button" parent="VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "Confirm"
[connection signal="value_changed" from="VBoxContainer/TabContainer/Gameplay/MouseSens/HBoxContainer/SpinBox" to="." method="_on_mouse_sens_spin_box_value_changed"]
[connection signal="value_changed" from="VBoxContainer/TabContainer/Gameplay/MouseSens/HBoxContainer/HSlider" to="." method="_on_mouse_sens_h_slider_value_changed"]
[connection signal="value_changed" from="VBoxContainer/TabContainer/Graphics/FOV/HBoxContainer/SpinBox" to="." method="_on_fov_spin_box_value_changed"]
[connection signal="value_changed" from="VBoxContainer/TabContainer/Graphics/FOV/HBoxContainer/HSlider" to="." method="_on_fov_h_slider_value_changed"]
[connection signal="item_selected" from="VBoxContainer/TabContainer/Graphics/VSync/OptionButton" to="." method="_on_vsync_option_button_item_selected"]
[connection signal="item_selected" from="VBoxContainer/TabContainer/Graphics/AntiAliasing/OptionButton" to="." method="_on_AA_option_button_item_selected"]
[connection signal="pressed" from="VBoxContainer/HBoxContainer/Cancel" to="." method="_on_cancel_pressed"]
[connection signal="pressed" from="VBoxContainer/HBoxContainer/Confirm" to="." method="_on_confirm_pressed"]

View File

@ -0,0 +1,61 @@
[gd_scene load_steps=3 format=3 uid="uid://buvgdem68wtev"]
[ext_resource type="Theme" uid="uid://b6a0ip4p72tgx" path="res://new_theme.tres" id="1_gaupv"]
[ext_resource type="Script" path="res://Scripts/pause_menu.gd" id="2_4pn2l"]
[node name="Control" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_gaupv")
script = ExtResource("2_4pn2l")
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.278431, 0.278431, 0.278431, 0.545098)
[node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.0
offset_top = -20.0
offset_right = 20.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
[node name="Resume" type="Button" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
text = "Resume"
[node name="Options" type="Button" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
text = "Options"
[node name="QuitToMainMenu" type="Button" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
text = "Quit to main menu"
[node name="QuitToDesktop" type="Button" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
text = "Quit to desktop"
[connection signal="pressed" from="PanelContainer/VBoxContainer/Resume" to="." method="_on_resume_pressed"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/Options" to="." method="_on_options_pressed"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/QuitToMainMenu" to="." method="_on_quit_to_main_menu_pressed"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/QuitToDesktop" to="." method="_on_quit_to_desktop_pressed"]

View File

@ -0,0 +1,56 @@
[gd_scene load_steps=2 format=3 uid="uid://bvfit0sy2tnw4"]
[ext_resource type="Script" path="res://Scripts/server_form.gd" id="1_43oaq"]
[node name="ServerForm" type="PanelContainer"]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -81.0
offset_top = -85.5
offset_right = 81.0
offset_bottom = 85.5
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_43oaq")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 2
alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "Server IP:"
[node name="ServerIP" type="LineEdit" parent="VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "localhost"
[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer2"]
layout_mode = 2
text = "Server Port:"
[node name="ServerPort" type="LineEdit" parent="VBoxContainer/HBoxContainer2"]
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "default"
[node name="Connect" type="Button" parent="VBoxContainer"]
layout_mode = 2
text = "Connect"
[node name="Host" type="Button" parent="VBoxContainer"]
layout_mode = 2
text = "Host"
[connection signal="pressed" from="VBoxContainer/Connect" to="." method="_on_connect_pressed"]
[connection signal="pressed" from="VBoxContainer/Host" to="." method="_on_host_pressed"]

View File

@ -0,0 +1,62 @@
[gd_scene load_steps=6 format=3 uid="uid://176c6fuhg5ic"]
[ext_resource type="Theme" uid="uid://b6a0ip4p72tgx" path="res://new_theme.tres" id="1_2aur6"]
[ext_resource type="PackedScene" uid="uid://dpt3kpixawyby" path="res://Scenes/UI/scoreboard.tscn" id="1_423py"]
[ext_resource type="Script" path="res://Scripts/singleplayer_lobby.gd" id="1_nd17k"]
[ext_resource type="PackedScene" uid="uid://3kcl30sump8c" path="res://Scenes/Menus/LoadoutEditor.tscn" id="2_wpyw5"]
[ext_resource type="PackedScene" uid="uid://ddmg342ff2qaq" path="res://Scenes/UI/chatbox.tscn" id="3_l8xy3"]
[node name="singleplayer_lobby" type="Control" node_paths=PackedStringArray("scoreboard", "loadout_editor", "chatbox")]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme = ExtResource("1_2aur6")
script = ExtResource("1_nd17k")
scoreboard = NodePath("Scoreboard")
loadout_editor = NodePath("Panel")
chatbox = NodePath("Chatbox")
[node name="Scoreboard" parent="." instance=ExtResource("1_423py")]
visible = false
layout_mode = 1
anchors_preset = -1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -472.0
offset_right = -50.0
grow_horizontal = 0
[node name="Panel" parent="." instance=ExtResource("2_wpyw5")]
visible = false
layout_mode = 1
anchors_preset = -1
offset_left = 50.0
offset_right = 455.0
[node name="ReadyButton" type="Button" parent="."]
visible = false
layout_mode = 1
anchors_preset = -1
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -81.0
offset_top = 311.0
offset_right = -240.0
offset_bottom = 19.0
grow_horizontal = 0
grow_vertical = 2
text = "Ready"
[node name="Chatbox" parent="." instance=ExtResource("3_l8xy3")]
visible = false
layout_mode = 1
offset_bottom = -507.0
[connection signal="pressed" from="ReadyButton" to="Scoreboard" method="set_player_ready_state" binds= [1, true]]
[connection signal="pressed" from="ReadyButton" to="ReadyButton" method="set_visible" binds= [false]]

View File

@ -0,0 +1,31 @@
[gd_scene load_steps=2 format=3 uid="uid://dccsyymk4uko6"]
[ext_resource type="Script" path="res://Scripts/text_input_popup.gd" id="1_ve6eb"]
[node name="TextInputPopup" type="PanelContainer"]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -90.0
offset_top = -35.0
offset_right = 90.0
offset_bottom = 35.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_ve6eb")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 2
[node name="LineEdit" type="LineEdit" parent="VBoxContainer"]
layout_mode = 2
placeholder_text = "Dummy Text"
[node name="Button" type="Button" parent="VBoxContainer"]
layout_mode = 2
text = "Confirm
"
[connection signal="pressed" from="VBoxContainer/Button" to="." method="_on_button_pressed"]

View File

@ -0,0 +1,60 @@
[gd_scene load_steps=2 format=3 uid="uid://ce0m8vbjbng6o"]
[ext_resource type="Script" path="res://Scripts/won_game_screen.gd" id="1_oa7nq"]
[node name="Control" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_oa7nq")
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 0.486275)
[node name="Label" type="Label" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.5
anchor_right = 0.5
offset_left = -20.0
offset_top = 260.0
offset_right = 20.0
offset_bottom = 23.0
grow_horizontal = 2
text = "You WIN :3"
[node name="PlayButton" type="Button" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.5
anchor_right = 0.5
offset_left = -52.5
offset_top = 300.0
offset_right = -173.0
offset_bottom = 31.0
grow_horizontal = 2
text = "play again :3"
[node name="QuitButton" type="Button" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.5
anchor_right = 0.5
offset_left = 348.0
offset_top = 300.0
offset_right = -173.0
offset_bottom = 31.0
grow_horizontal = 2
text = "quit to main menu :<"
[connection signal="pressed" from="PlayButton" to="." method="_on_play_button_pressed"]
[connection signal="pressed" from="QuitButton" to="." method="_on_quit_button_pressed"]

93
Scenes/UI/card_hand.tscn Normal file
View File

@ -0,0 +1,93 @@
[gd_scene load_steps=4 format=3 uid="uid://dixtx38u4jhd7"]
[ext_resource type="Script" path="res://Scripts/card_hand.gd" id="1_2cfmh"]
[ext_resource type="Texture2D" uid="uid://dlqnhs8or4ik2" path="res://Assets/Textures/cardhand.png" id="1_d5oo3"]
[ext_resource type="Texture2D" uid="uid://buf8t5gc7iw3a" path="res://Assets/TextureAtlases/rarityborders.tres" id="3_pclfx"]
[node name="Node2D" type="Node2D" node_paths=PackedStringArray("rarity_sprite", "title_text", "damage_text_text", "damage_text", "fire_rate_text_text", "fire_rate_text", "range_text_text", "range_text")]
script = ExtResource("1_2cfmh")
rarity_sprite = NodePath("Sprite2D2")
title_text = NodePath("Title")
damage_text_text = NodePath("DamageText")
damage_text = NodePath("Damage")
fire_rate_text_text = NodePath("FireRateText")
fire_rate_text = NodePath("FireRate")
range_text_text = NodePath("RangeText")
range_text = NodePath("Range")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture_filter = 1
position = Vector2(96, 96)
scale = Vector2(3, 3)
texture = ExtResource("1_d5oo3")
[node name="Sprite2D2" type="Sprite2D" parent="."]
texture_filter = 1
position = Vector2(96, 96)
scale = Vector2(3, 3)
texture = ExtResource("3_pclfx")
region_enabled = true
region_rect = Rect2(0, 0, 64, 64)
[node name="Title" type="Label" parent="."]
offset_left = 48.0
offset_top = 20.0
offset_right = 150.0
offset_bottom = 46.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "spider queen"
horizontal_alignment = 1
[node name="DamageText" type="Label" parent="."]
offset_left = 30.0
offset_top = 65.0
offset_right = 132.0
offset_bottom = 91.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "Damage: "
horizontal_alignment = 1
[node name="Damage" type="Label" parent="."]
offset_left = 78.0
offset_top = 65.0
offset_right = 180.0
offset_bottom = 91.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "45"
horizontal_alignment = 1
[node name="FireRateText" type="Label" parent="."]
offset_left = 31.0
offset_top = 89.0
offset_right = 133.0
offset_bottom = 115.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "Fire Rate: "
horizontal_alignment = 1
[node name="FireRate" type="Label" parent="."]
offset_left = 77.0
offset_top = 90.0
offset_right = 179.0
offset_bottom = 116.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "3"
horizontal_alignment = 1
[node name="RangeText" type="Label" parent="."]
offset_left = 44.0
offset_top = 111.0
offset_right = 146.0
offset_bottom = 137.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "Range: "
horizontal_alignment = 1
[node name="Range" type="Label" parent="."]
offset_left = 87.0
offset_top = 111.0
offset_right = 189.0
offset_bottom = 137.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "55"
horizontal_alignment = 1

39
Scenes/UI/chatbox.tscn Normal file
View File

@ -0,0 +1,39 @@
[gd_scene load_steps=2 format=3 uid="uid://ddmg342ff2qaq"]
[ext_resource type="Script" path="res://Scripts/chatbox.gd" id="1_k3g22"]
[node name="Chatbox" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("1_k3g22")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_top = 1.0
anchor_bottom = 1.0
offset_left = 15.0
offset_top = -210.0
offset_right = 350.0
offset_bottom = -10.0
grow_vertical = 0
mouse_filter = 2
alignment = 2
[node name="RichTextLabel" type="RichTextLabel" parent="VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
mouse_filter = 2
scroll_following = true
[node name="LineEdit" type="LineEdit" parent="VBoxContainer"]
visible = false
layout_mode = 2
mouse_filter = 2
context_menu_enabled = false
selecting_enabled = false

View File

@ -0,0 +1,558 @@
[gd_scene load_steps=11 format=3 uid="uid://dko38egcaxubd"]
[ext_resource type="Script" path="res://Scripts/lifebar_segment.gd" id="1_dvlcq"]
[ext_resource type="Texture2D" uid="uid://0ey8r48lgjw1" path="res://Assets/Textures/lifebar_pip.png" id="1_pianw"]
[sub_resource type="Animation" id="Animation_i18y2"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TextureRect6:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 4)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("TextureRect6:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("TextureRect6:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("TextureRect4:position")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("TextureRect4:rotation")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("TextureRect4:modulate")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("TextureRect5:position")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(-4, 4)]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("TextureRect5:rotation")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("TextureRect5:modulate")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("TextureRect2:position")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, -4)]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("TextureRect2:rotation")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("TextureRect2:modulate")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/12/type = "value"
tracks/12/imported = false
tracks/12/enabled = true
tracks/12/path = NodePath("TextureRect3:position")
tracks/12/interp = 1
tracks/12/loop_wrap = true
tracks/12/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(-4, 0)]
}
tracks/13/type = "value"
tracks/13/imported = false
tracks/13/enabled = true
tracks/13/path = NodePath("TextureRect3:rotation")
tracks/13/interp = 1
tracks/13/loop_wrap = true
tracks/13/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/14/type = "value"
tracks/14/imported = false
tracks/14/enabled = true
tracks/14/path = NodePath("TextureRect3:modulate")
tracks/14/interp = 1
tracks/14/loop_wrap = true
tracks/14/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/15/type = "value"
tracks/15/imported = false
tracks/15/enabled = true
tracks/15/path = NodePath("TextureRect:position")
tracks/15/interp = 1
tracks/15/loop_wrap = true
tracks/15/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(-4, -4)]
}
tracks/16/type = "value"
tracks/16/imported = false
tracks/16/enabled = true
tracks/16/path = NodePath("TextureRect:rotation")
tracks/16/interp = 1
tracks/16/loop_wrap = true
tracks/16/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/17/type = "value"
tracks/17/imported = false
tracks/17/enabled = true
tracks/17/path = NodePath("TextureRect:modulate")
tracks/17/interp = 1
tracks/17/loop_wrap = true
tracks/17/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_a6tv4"]
resource_name = "lose1"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TextureRect6:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 4), Vector2(4.76837e-07, 9)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("TextureRect6:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.567662]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("TextureRect6:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
[sub_resource type="Animation" id="Animation_t2ym0"]
resource_name = "lose2"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TextureRect4:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(2, 6)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("TextureRect4:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, -0.933911]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("TextureRect4:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
[sub_resource type="Animation" id="Animation_ueyfw"]
resource_name = "lose3"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TextureRect5:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(-4, 4), Vector2(-3, 9)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("TextureRect5:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, -1.1286]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("TextureRect5:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
[sub_resource type="Animation" id="Animation_r4h4h"]
resource_name = "lose4"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TextureRect2:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, -4), Vector2(4, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("TextureRect2:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.582677]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("TextureRect2:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
[sub_resource type="Animation" id="Animation_defuy"]
resource_name = "lose5"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TextureRect3:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(-4, 0), Vector2(-1, 4)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("TextureRect3:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, -0.909425]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("TextureRect3:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
[sub_resource type="Animation" id="Animation_rctjq"]
resource_name = "lose6"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TextureRect:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(-4, -4), Vector2(1, 2)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("TextureRect:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, -1.01031]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("TextureRect:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_1s8yp"]
_data = {
"RESET": SubResource("Animation_i18y2"),
"lose1": SubResource("Animation_a6tv4"),
"lose2": SubResource("Animation_t2ym0"),
"lose3": SubResource("Animation_ueyfw"),
"lose4": SubResource("Animation_r4h4h"),
"lose5": SubResource("Animation_defuy"),
"lose6": SubResource("Animation_rctjq")
}
[node name="Control" type="Control"]
layout_mode = 3
anchors_preset = 0
script = ExtResource("1_dvlcq")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_1s8yp")
}
[node name="AnimationPlayer2" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_1s8yp")
}
[node name="AnimationPlayer3" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_1s8yp")
}
[node name="AnimationPlayer4" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_1s8yp")
}
[node name="AnimationPlayer5" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_1s8yp")
}
[node name="AnimationPlayer6" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_1s8yp")
}
[node name="TextureRect" type="TextureRect" parent="."]
texture_filter = 1
layout_mode = 0
offset_left = -4.0
offset_top = -4.0
offset_right = -1.0
offset_bottom = -1.0
texture = ExtResource("1_pianw")
[node name="TextureRect2" type="TextureRect" parent="."]
texture_filter = 1
layout_mode = 0
offset_top = -4.0
offset_right = 3.0
offset_bottom = -1.0
texture = ExtResource("1_pianw")
[node name="TextureRect3" type="TextureRect" parent="."]
texture_filter = 1
layout_mode = 0
offset_left = -4.0
offset_right = -1.0
offset_bottom = 3.0
texture = ExtResource("1_pianw")
[node name="TextureRect4" type="TextureRect" parent="."]
texture_filter = 1
layout_mode = 0
offset_right = 3.0
offset_bottom = 3.0
texture = ExtResource("1_pianw")
[node name="TextureRect5" type="TextureRect" parent="."]
texture_filter = 1
layout_mode = 0
offset_left = -4.0
offset_top = 4.0
offset_right = -1.0
offset_bottom = 7.0
texture = ExtResource("1_pianw")
[node name="TextureRect6" type="TextureRect" parent="."]
texture_filter = 1
layout_mode = 0
offset_top = 4.0
offset_right = 3.0
offset_bottom = 7.00004
texture = ExtResource("1_pianw")

137
Scenes/UI/lives_bar.tscn Normal file
View File

@ -0,0 +1,137 @@
[gd_scene load_steps=4 format=3 uid="uid://24x18qxqhy0i"]
[ext_resource type="Texture2D" uid="uid://dvy2lvtotaxb3" path="res://Assets/Textures/lifebar_bg.png" id="1_x27cx"]
[ext_resource type="Script" path="res://Scripts/lives_bar.gd" id="2_lqe7s"]
[ext_resource type="PackedScene" uid="uid://dko38egcaxubd" path="res://Scenes/UI/lifebar_segment.tscn" id="3_6hp86"]
[node name="LivesBar" type="TextureRect" node_paths=PackedStringArray("segments")]
texture_filter = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("1_x27cx")
stretch_mode = 2
script = ExtResource("2_lqe7s")
segments = [NodePath("Control"), NodePath("Control2"), NodePath("Control3"), NodePath("Control4"), NodePath("Control5"), NodePath("Control6"), NodePath("Control7"), NodePath("Control8"), NodePath("Control9"), NodePath("Control10"), NodePath("Control11"), NodePath("Control12"), NodePath("Control13"), NodePath("Control14"), NodePath("Control15"), NodePath("Control16"), NodePath("Control17"), NodePath("Control18"), NodePath("Control19"), NodePath("Control20")]
[node name="Control" parent="." instance=ExtResource("3_6hp86")]
offset_left = 28.0
offset_top = 10.0
offset_right = 28.0
offset_bottom = 10.0
[node name="Control2" parent="." instance=ExtResource("3_6hp86")]
offset_left = 37.0
offset_top = 10.0
offset_right = 37.0
offset_bottom = 10.0
[node name="Control3" parent="." instance=ExtResource("3_6hp86")]
offset_left = 46.0
offset_top = 10.0
offset_right = 46.0
offset_bottom = 10.0
[node name="Control4" parent="." instance=ExtResource("3_6hp86")]
offset_left = 55.0
offset_top = 10.0
offset_right = 55.0
offset_bottom = 10.0
[node name="Control5" parent="." instance=ExtResource("3_6hp86")]
offset_left = 64.0
offset_top = 10.0
offset_right = 64.0
offset_bottom = 10.0
[node name="Control6" parent="." instance=ExtResource("3_6hp86")]
offset_left = 73.0
offset_top = 10.0
offset_right = 73.0
offset_bottom = 10.0
[node name="Control7" parent="." instance=ExtResource("3_6hp86")]
offset_left = 82.0
offset_top = 10.0
offset_right = 82.0
offset_bottom = 10.0
[node name="Control8" parent="." instance=ExtResource("3_6hp86")]
offset_left = 91.0
offset_top = 10.0
offset_right = 91.0
offset_bottom = 10.0
[node name="Control9" parent="." instance=ExtResource("3_6hp86")]
offset_left = 100.0
offset_top = 10.0
offset_right = 100.0
offset_bottom = 10.0
[node name="Control10" parent="." instance=ExtResource("3_6hp86")]
offset_left = 109.0
offset_top = 10.0
offset_right = 109.0
offset_bottom = 10.0
[node name="Control11" parent="." instance=ExtResource("3_6hp86")]
offset_left = 118.0
offset_top = 10.0
offset_right = 118.0
offset_bottom = 10.0
[node name="Control12" parent="." instance=ExtResource("3_6hp86")]
offset_left = 127.0
offset_top = 10.0
offset_right = 127.0
offset_bottom = 10.0
[node name="Control13" parent="." instance=ExtResource("3_6hp86")]
offset_left = 136.0
offset_top = 10.0
offset_right = 136.0
offset_bottom = 10.0
[node name="Control14" parent="." instance=ExtResource("3_6hp86")]
offset_left = 145.0
offset_top = 10.0
offset_right = 145.0
offset_bottom = 10.0
[node name="Control15" parent="." instance=ExtResource("3_6hp86")]
offset_left = 154.0
offset_top = 10.0
offset_right = 154.0
offset_bottom = 10.0
[node name="Control16" parent="." instance=ExtResource("3_6hp86")]
offset_left = 163.0
offset_top = 10.0
offset_right = 163.0
offset_bottom = 10.0
[node name="Control17" parent="." instance=ExtResource("3_6hp86")]
offset_left = 172.0
offset_top = 10.0
offset_right = 172.0
offset_bottom = 10.0
[node name="Control18" parent="." instance=ExtResource("3_6hp86")]
offset_left = 181.0
offset_top = 10.0
offset_right = 181.0
offset_bottom = 10.0
[node name="Control19" parent="." instance=ExtResource("3_6hp86")]
offset_left = 190.0
offset_top = 10.0
offset_right = 190.0
offset_bottom = 10.0
[node name="Control20" parent="." instance=ExtResource("3_6hp86")]
offset_left = 199.0
offset_top = 10.0
offset_right = 199.0
offset_bottom = 10.0

31
Scenes/UI/scoreboard.tscn Normal file
View File

@ -0,0 +1,31 @@
[gd_scene load_steps=3 format=3 uid="uid://dpt3kpixawyby"]
[ext_resource type="Script" path="res://Scripts/scoreboard.gd" id="1_b5vdp"]
[ext_resource type="PackedScene" uid="uid://bhri8mqjbme2t" path="res://Scenes/UI/scoreboard_entry.tscn" id="2_uer0b"]
[node name="Scoreboard" type="PanelContainer"]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -157.5
offset_top = -125.0
offset_right = 157.5
offset_bottom = 125.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_b5vdp")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 2
alignment = 1
[node name="DummyEntry1" parent="VBoxContainer" instance=ExtResource("2_uer0b")]
layout_mode = 2
[node name="DummyEntry2" parent="VBoxContainer" instance=ExtResource("2_uer0b")]
layout_mode = 2
[node name="DummyEntry3" parent="VBoxContainer" instance=ExtResource("2_uer0b")]
layout_mode = 2

View File

@ -0,0 +1,35 @@
[gd_scene load_steps=4 format=3 uid="uid://bhri8mqjbme2t"]
[ext_resource type="Script" path="res://Scripts/scoreboard_entry.gd" id="1_5xryr"]
[ext_resource type="Texture2D" uid="uid://m4ehy5bahsup" path="res://Assets/Textures/ready.png" id="2_yxtr2"]
[sub_resource type="AtlasTexture" id="AtlasTexture_qhkn8"]
resource_local_to_scene = true
atlas = ExtResource("2_yxtr2")
region = Rect2(0, 0, 32, 32)
[node name="PlayerListEntry" type="HBoxContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_5xryr")
[node name="DisplayName" type="Label" parent="."]
layout_mode = 2
size_flags_horizontal = 3
text = "Dummy Player"
horizontal_alignment = 1
[node name="CharacterName" type="Label" parent="."]
layout_mode = 2
size_flags_horizontal = 3
text = "Character"
horizontal_alignment = 1
[node name="TextureRect" type="TextureRect" parent="."]
layout_mode = 2
size_flags_horizontal = 8
texture = SubResource("AtlasTexture_qhkn8")
stretch_mode = 3

View File

@ -0,0 +1,133 @@
[gd_scene load_steps=12 format=3 uid="uid://1b2ikdanl66b"]
[ext_resource type="Script" path="res://Scripts/card_printer.gd" id="1_7rhtj"]
[ext_resource type="PackedScene" uid="uid://dixtx38u4jhd7" path="res://Scenes/UI/card_hand.tscn" id="2_7ouw1"]
[ext_resource type="PackedScene" uid="uid://dsasunnk47n8o" path="res://Scenes/item_card.tscn" id="2_356ip"]
[ext_resource type="Script" path="res://Scripts/interact_button.gd" id="3_iia6u"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_s02au"]
albedo_color = Color(0.203922, 0.592157, 0.592157, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_0ebt5"]
size = Vector3(2.672, 1.75, 1)
[sub_resource type="ViewportTexture" id="ViewportTexture_yf4je"]
viewport_path = NodePath("SubViewport")
[sub_resource type="ViewportTexture" id="ViewportTexture_3q3h0"]
viewport_path = NodePath("SubViewport2")
[sub_resource type="ViewportTexture" id="ViewportTexture_vyyy4"]
viewport_path = NodePath("SubViewport3")
[sub_resource type="BoxShape3D" id="BoxShape3D_ikdwj"]
size = Vector3(1.29447, 0.342125, 0.277604)
[sub_resource type="BoxShape3D" id="BoxShape3D_gv3t5"]
size = Vector3(0.763889, 0.773027, 0.0570252)
[node name="CardPrinter" type="StaticBody3D" node_paths=PackedStringArray("cards", "button_collider", "button_box", "choice_colliders")]
script = ExtResource("1_7rhtj")
cards = [NodePath("SubViewport/Node2D"), NodePath("SubViewport2/Node2D"), NodePath("SubViewport3/Node2D")]
item_card_scene = ExtResource("2_356ip")
button_collider = NodePath("StaticBody3D/CollisionShape3D2")
button_box = NodePath("StaticBody3D/CollisionShape3D2/CSGBox3D")
choice_colliders = [NodePath("StaticBody3D2/CollisionShape3D2"), NodePath("StaticBody3D3/CollisionShape3D2"), NodePath("StaticBody3D4/CollisionShape3D2")]
[node name="CSGBox3D" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.875, 0)
size = Vector3(2.672, 1.75, 1)
material = SubResource("StandardMaterial3D_s02au")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.875, 0)
shape = SubResource("BoxShape3D_0ebt5")
[node name="SubViewport" type="SubViewport" parent="."]
transparent_bg = true
size = Vector2i(192, 192)
render_target_update_mode = 4
[node name="Node2D" parent="SubViewport" instance=ExtResource("2_7ouw1")]
[node name="SubViewport2" type="SubViewport" parent="."]
transparent_bg = true
size = Vector2i(192, 192)
render_target_update_mode = 4
[node name="Node2D" parent="SubViewport2" instance=ExtResource("2_7ouw1")]
[node name="SubViewport3" type="SubViewport" parent="."]
transparent_bg = true
size = Vector2i(192, 192)
render_target_update_mode = 4
[node name="Node2D" parent="SubViewport3" instance=ExtResource("2_7ouw1")]
[node name="Node3D" type="Node3D" parent="."]
visible = false
[node name="Sprite3D" type="Sprite3D" parent="Node3D"]
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, -0.805106, 1.12938, 0.500052)
texture_filter = 0
texture = SubResource("ViewportTexture_yf4je")
[node name="Sprite3D2" type="Sprite3D" parent="Node3D"]
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0.0180808, 1.12938, 0.500052)
texture_filter = 0
texture = SubResource("ViewportTexture_3q3h0")
[node name="Sprite3D3" type="Sprite3D" parent="Node3D"]
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0.843507, 1.12938, 0.500052)
texture_filter = 0
texture = SubResource("ViewportTexture_vyyy4")
[node name="StaticBody3D" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.444448, 0.610684)
collision_layer = 16
collision_mask = 0
script = ExtResource("3_iia6u")
press_cost = 10
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D"]
shape = SubResource("BoxShape3D_ikdwj")
[node name="CSGBox3D" type="CSGBox3D" parent="StaticBody3D/CollisionShape3D2"]
size = Vector3(1.29447, 0.342125, 0.277604)
[node name="StaticBody3D2" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.756734, 1.15772, 0.610684)
collision_layer = 16
collision_mask = 0
script = ExtResource("3_iia6u")
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0466152, -0.0297148, -0.0917365)
shape = SubResource("BoxShape3D_gv3t5")
[node name="StaticBody3D3" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0672475, 1.15772, 0.610684)
collision_layer = 16
collision_mask = 0
script = ExtResource("3_iia6u")
button_press_value = 1
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D3"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0466152, -0.0297148, -0.0917365)
shape = SubResource("BoxShape3D_gv3t5")
[node name="StaticBody3D4" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.883877, 1.15772, 0.610684)
collision_layer = 16
collision_mask = 0
script = ExtResource("3_iia6u")
button_press_value = 2
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D4"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0466152, -0.0297148, -0.0917365)
shape = SubResource("BoxShape3D_gv3t5")
[connection signal="button_interacted" from="StaticBody3D" to="." method="_on_static_body_3d_button_interacted"]
[connection signal="button_interacted" from="StaticBody3D2" to="." method="retrieve_card"]
[connection signal="button_interacted" from="StaticBody3D3" to="." method="retrieve_card"]
[connection signal="button_interacted" from="StaticBody3D4" to="." method="retrieve_card"]

View File

@ -0,0 +1,30 @@
[gd_scene load_steps=3 format=3 uid="uid://cqtew0t8sttpm"]
[ext_resource type="Script" path="res://Scripts/damage_particle.gd" id="1_lgvaq"]
[sub_resource type="ViewportTexture" id="ViewportTexture_ppqlh"]
viewport_path = NodePath("SubViewport")
[node name="Node3D" type="Sprite3D"]
pixel_size = 0.0006
billboard = 1
fixed_size = true
render_priority = 1
texture = SubResource("ViewportTexture_ppqlh")
script = ExtResource("1_lgvaq")
[node name="SubViewport" type="SubViewport" parent="."]
transparent_bg = true
size = Vector2i(172, 57)
render_target_update_mode = 4
[node name="Label" type="Label" parent="SubViewport"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 60
text = "12345"
horizontal_alignment = 1
vertical_alignment = 1

11
Scenes/enemy_spawner.tscn Normal file
View File

@ -0,0 +1,11 @@
[gd_scene load_steps=3 format=3 uid="uid://d2yv447trxkwt"]
[ext_resource type="Script" path="res://Scripts/enemy_spawner.gd" id="1_23wuv"]
[ext_resource type="PackedScene" uid="uid://b0nady5xm88bo" path="res://Worlds/GreenPlanet/Enemies/land_enemy.tscn" id="2_muaoj"]
[node name="Node3D" type="Node3D"]
script = ExtResource("1_23wuv")
land_enemy_scene = ExtResource("2_muaoj")
[node name="CSGBox3D" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)

40
Scenes/gauntlet.tscn Normal file
View File

@ -0,0 +1,40 @@
[gd_scene load_steps=5 format=3 uid="uid://dqt1ggtkpkuhs"]
[ext_resource type="Script" path="res://Scripts/edit_tool.gd" id="1_yf8lt"]
[ext_resource type="PackedScene" uid="uid://ddbbwx0yy16lh" path="res://Scenes/tower_base.tscn" id="2_r3632"]
[ext_resource type="Texture2D" uid="uid://gh4yvnerf1f5" path="res://Assets/Textures/radial.png" id="3_a323w"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_36ot1"]
transparency = 1
[node name="EditTool" type="Node3D" node_paths=PackedStringArray("ray", "wall_preview", "progress_bar")]
script = ExtResource("1_yf8lt")
ray = NodePath("RayCast3D")
wall_preview = NodePath("WallPreview")
build_preview_material = SubResource("StandardMaterial3D_36ot1")
progress_bar = NodePath("ProgressBar")
[node name="RayCast3D" type="RayCast3D" parent="."]
target_position = Vector3(0, 0, -20)
collision_mask = 25
[node name="WallPreview" parent="." instance=ExtResource("2_r3632")]
visible = false
[node name="ProgressBar" type="TextureProgressBar" parent="."]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -90.0
offset_top = -90.0
offset_right = 90.0
offset_bottom = 90.0
grow_horizontal = 2
grow_vertical = 2
scale = Vector2(0.5, 0.5)
pivot_offset = Vector2(90, 90)
step = 0.0
fill_mode = 4
texture_progress = ExtResource("3_a323w")

30
Scenes/item_card.tscn Normal file
View File

@ -0,0 +1,30 @@
[gd_scene load_steps=5 format=3 uid="uid://dsasunnk47n8o"]
[ext_resource type="Script" path="res://Scripts/item_card.gd" id="1_f3ek5"]
[ext_resource type="Script" path="res://Scripts/float_and_spin.gd" id="2_yfdc3"]
[sub_resource type="Curve" id="Curve_qb7ge"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.5, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_bf4ou"]
height = 1.0
[node name="Node3D" type="StaticBody3D"]
collision_layer = 8
collision_mask = 0
script = ExtResource("1_f3ek5")
[node name="model" type="RayCast3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7, 0)
target_position = Vector3(0, -10, 0)
script = ExtResource("2_yfdc3")
float_height = 0.7
curve = SubResource("Curve_qb7ge")
[node name="CSGSphere3D" type="CSGSphere3D" parent="model"]
radius = 0.1
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7, 0)
shape = SubResource("CapsuleShape3D_bf4ou")

View File

@ -0,0 +1,24 @@
[gd_scene load_steps=4 format=3 uid="uid://clbw3osqy2ww2"]
[ext_resource type="Script" path="res://Scripts/path_visual_thing.gd" id="1_pgun7"]
[ext_resource type="Texture2D" uid="uid://cy786nrpcdr5o" path="res://Assets/Textures/minimap_path_visual.png" id="2_0gsds"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lutld"]
albedo_color = Color(0.0509804, 0.337255, 0.709804, 1)
[node name="PathFollow3D" type="PathFollow3D" node_paths=PackedStringArray("world_model", "minimap_model")]
use_model_front = true
script = ExtResource("1_pgun7")
world_model = NodePath("CSGSphere3D")
minimap_model = NodePath("Sprite3D")
[node name="CSGSphere3D" type="CSGSphere3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0)
radius = 0.05
material = SubResource("StandardMaterial3D_lutld")
[node name="Sprite3D" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.385229, 0)
layers = 4
texture_filter = 0
texture = ExtResource("2_0gsds")

7
Scenes/status_icon.tscn Normal file
View File

@ -0,0 +1,7 @@
[gd_scene load_steps=2 format=3 uid="uid://dp45xkbsslr0k"]
[ext_resource type="Texture2D" uid="uid://bpixdxdjnr5tw" path="res://Assets/Textures/glue_icon.png" id="1_d3stl"]
[node name="StatusIcon" type="TextureRect"]
texture_filter = 1
texture = ExtResource("1_d3stl")

12
Scenes/target_icon.tscn Normal file
View File

@ -0,0 +1,12 @@
[gd_scene load_steps=2 format=3 uid="uid://csufsbi64asau"]
[ext_resource type="Texture2D" uid="uid://hnfa76d6tdi" path="res://Assets/Textures/target_icon.png" id="1_r4a3f"]
[node name="Node3D" type="Sprite3D"]
sorting_offset = 20.0
pixel_size = 0.003
billboard = 1
no_depth_test = true
fixed_size = true
texture_filter = 0
texture = ExtResource("1_r4a3f")

33
Scenes/tower_base.tscn Normal file
View File

@ -0,0 +1,33 @@
[gd_scene load_steps=5 format=3 uid="uid://ddbbwx0yy16lh"]
[ext_resource type="Script" path="res://Scripts/tower_base.gd" id="1_tghvd"]
[ext_resource type="Script" path="res://Scripts/inventory.gd" id="2_p5c7g"]
[ext_resource type="Texture2D" uid="uid://ba85u6i558x4w" path="res://Assets/Textures/minimap_node.png" id="3_01hk3"]
[sub_resource type="BoxShape3D" id="BoxShape3D_lc72v"]
[node name="Node3D" type="StaticBody3D" node_paths=PackedStringArray("inventory", "block", "collider", "minimap_icon")]
collision_layer = 17
script = ExtResource("1_tghvd")
inventory = NodePath("Inventory")
block = NodePath("CSGBox3D")
collider = NodePath("CollisionShape3D")
minimap_icon = NodePath("Sprite3D")
[node name="CSGBox3D" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="Inventory" type="Node" parent="."]
script = ExtResource("2_p5c7g")
max_size = 1
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
shape = SubResource("BoxShape3D_lc72v")
[node name="Sprite3D" type="Sprite3D" parent="."]
transform = Transform3D(3.5, 0, 0, 0, -1.5299e-07, 3.5, 0, -3.5, -1.5299e-07, 0, 3.09462, 0)
layers = 4
modulate = Color(0, 1, 0, 1)
texture_filter = 0
texture = ExtResource("3_01hk3")

43
Scenes/tower_frame.tscn Normal file
View File

@ -0,0 +1,43 @@
[gd_scene load_steps=6 format=3 uid="uid://c2cpc8f0l7soh"]
[ext_resource type="Texture2D" uid="uid://ba85u6i558x4w" path="res://Assets/Textures/minimap_node.png" id="1_phew5"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xt3aj"]
albedo_color = Color(0.0980392, 0.309804, 0.180392, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gbm1j"]
albedo_color = Color(0.0980392, 0.309804, 0.180392, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_18qg8"]
albedo_color = Color(0.0980392, 0.309804, 0.180392, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ip8b2"]
albedo_color = Color(0.0980392, 0.309804, 0.180392, 1)
[node name="Node3D" type="Node3D"]
[node name="CSGBox3D2" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.02, 0.525)
size = Vector3(1, 0.04, 0.05)
material = SubResource("StandardMaterial3D_xt3aj")
[node name="CSGBox3D3" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.02, -0.525)
size = Vector3(1, 0.04, 0.05)
material = SubResource("StandardMaterial3D_gbm1j")
[node name="CSGBox3D4" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.525, 0.02, 0)
size = Vector3(0.05, 0.04, 1.1)
material = SubResource("StandardMaterial3D_18qg8")
[node name="CSGBox3D5" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.525, 0.02, 0)
size = Vector3(0.05, 0.04, 1.1)
material = SubResource("StandardMaterial3D_ip8b2")
[node name="Sprite3D" type="Sprite3D" parent="."]
transform = Transform3D(3.5, 0, 0, 0, -1.5299e-07, 3.5, 0, -3.5, -1.5299e-07, 0, 0, 0)
layers = 4
texture_filter = 0
texture = ExtResource("1_phew5")

14
Scenes/visual_path.tscn Normal file
View File

@ -0,0 +1,14 @@
[gd_scene load_steps=3 format=3 uid="uid://dtfw0tefhb6qq"]
[ext_resource type="Script" path="res://Scripts/visualized_path.gd" id="1_34oex"]
[sub_resource type="Curve3D" id="Curve3D_tcut2"]
_data = {
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, -0.894202, 0.687927, -2.77275, 0, 0, -2),
"tilts": PackedFloat32Array(0, 0)
}
point_count = 2
[node name="Node3D" type="Path3D"]
curve = SubResource("Curve3D_tcut2")
script = ExtResource("1_34oex")