initial commit

This commit is contained in:
2023-06-06 13:35:20 +10:00
commit 73f8bddae3
58 changed files with 4187 additions and 0 deletions

6
Scenes/board.tscn Normal file
View File

@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://8vuwnqp80o3m"]
[ext_resource type="Script" path="res://Scripts/board.gd" id="1_pvv6x"]
[node name="Board" type="Node2D"]
script = ExtResource("1_pvv6x")

34
Scenes/bonus_icon.tscn Normal file
View File

@ -0,0 +1,34 @@
[gd_scene load_steps=5 format=3 uid="uid://cqy1p45nku4hr"]
[ext_resource type="Script" path="res://Scripts/bonus_icon.gd" id="1_1qclg"]
[ext_resource type="Texture2D" uid="uid://b4qqaaqnfnlft" path="res://Assets/icons.png" id="1_awpqe"]
[ext_resource type="Texture2D" uid="uid://c2oy6ox1ukog8" path="res://Assets/frame.png" id="2_au4d6"]
[ext_resource type="Texture2D" uid="uid://b4lont873b556" path="res://Assets/super.png" id="3_qnk7l"]
[node name="Bonus1" type="Node2D"]
script = ExtResource("1_1qclg")
[node name="Icon1" type="Sprite2D" parent="."]
texture = ExtResource("1_awpqe")
region_enabled = true
region_rect = Rect2(0, 0, 32, 32)
[node name="frame1" type="Sprite2D" parent="."]
position = Vector2(0, -3)
texture = ExtResource("2_au4d6")
region_rect = Rect2(0, 0, 32, 32)
[node name="super1" type="Sprite2D" parent="."]
visible = false
position = Vector2(0, -3)
texture = ExtResource("3_qnk7l")
region_rect = Rect2(0, 0, 32, 32)
[node name="Label" type="Label" parent="."]
visible = false
offset_left = 24.0
offset_top = -12.0
offset_right = 64.0
offset_bottom = 14.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "120"

27
Scenes/card_pile.tscn Normal file
View File

@ -0,0 +1,27 @@
[gd_scene load_steps=3 format=3 uid="uid://y2i3u6n1oowh"]
[ext_resource type="Script" path="res://Scripts/slot_button.gd" id="1_qbsj1"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2yi2r"]
size = Vector2(229, 145)
[node name="CardPile" type="Node2D"]
script = ExtResource("1_qbsj1")
[node name="Label" type="Label" parent="."]
offset_left = 66.0
offset_top = 55.0
offset_right = 158.0
offset_bottom = 81.0
text = "Deck"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(112.5, 71.5)
shape = SubResource("RectangleShape2D_2yi2r")
disabled = true
[connection signal="input_event" from="Area2D" to="." method="_on_area_2d_input_event"]

236
Scenes/client_card.tscn Normal file
View File

@ -0,0 +1,236 @@
[gd_scene load_steps=9 format=3 uid="uid://c7j6lwbwgbosr"]
[ext_resource type="Script" path="res://Scripts/client.gd" id="1_bvmvn"]
[ext_resource type="Texture2D" uid="uid://dpu7jjppeja2v" path="res://Assets/task.png" id="2_k2tqp"]
[ext_resource type="Texture2D" uid="uid://de0gq6h0onwex" path="res://Assets/slice.png" id="3_pxlet"]
[ext_resource type="Texture2D" uid="uid://b72amudxuxo8n" path="res://Assets/hard.png" id="4_8gylx"]
[ext_resource type="Texture2D" uid="uid://ws1ghxt16a54" path="res://Assets/hardest.png" id="5_hl5js"]
[sub_resource type="LabelSettings" id="LabelSettings_xciys"]
font_size = 25
shadow_size = 0
[sub_resource type="LabelSettings" id="LabelSettings_88ebh"]
font_size = 24
[sub_resource type="RectangleShape2D" id="RectangleShape2D_70vuu"]
size = Vector2(350, 253)
[node name="Card" type="Node2D"]
script = ExtResource("1_bvmvn")
[node name="Background" type="TextureRect" parent="."]
texture_filter = 1
offset_right = 350.0
offset_bottom = 250.0
texture = ExtResource("2_k2tqp")
[node name="Title" type="Label" parent="Background"]
modulate = Color(0, 0, 0, 1)
texture_filter = 1
layout_mode = 0
offset_left = 166.0
offset_top = 6.0
offset_right = 296.0
offset_bottom = 44.0
label_settings = SubResource("LabelSettings_xciys")
horizontal_alignment = 1
vertical_alignment = 1
uppercase = true
[node name="Initial Stress" type="Label" parent="Background"]
modulate = Color(0, 0, 0, 1)
texture_filter = 1
layout_mode = 0
offset_left = 117.0
offset_top = 6.0
offset_right = 156.0
offset_bottom = 43.0
label_settings = SubResource("LabelSettings_88ebh")
horizontal_alignment = 1
vertical_alignment = 1
uppercase = true
[node name="Slice1" type="TextureRect" parent="Background"]
visible = false
layout_mode = 0
offset_left = 325.0
offset_top = 6.0
offset_right = 344.0
offset_bottom = 25.0
texture = ExtResource("3_pxlet")
[node name="Slice2" type="TextureRect" parent="Background"]
visible = false
layout_mode = 0
offset_left = 326.0
offset_top = 25.0
offset_right = 345.0
offset_bottom = 44.0
texture = ExtResource("3_pxlet")
flip_v = true
[node name="Slice3" type="TextureRect" parent="Background"]
visible = false
layout_mode = 0
offset_left = 308.0
offset_top = 24.0
offset_right = 327.0
offset_bottom = 43.0
texture = ExtResource("3_pxlet")
flip_h = true
flip_v = true
[node name="Slice4" type="TextureRect" parent="Background"]
visible = false
layout_mode = 0
offset_left = 308.0
offset_top = 7.0
offset_right = 327.0
offset_bottom = 26.0
texture = ExtResource("3_pxlet")
flip_h = true
[node name="Turns Left Counter" type="Label" parent="Background"]
layout_mode = 0
offset_left = 354.0
offset_right = 394.0
offset_bottom = 26.0
text = "0"
[node name="easy" type="Node2D" parent="."]
visible = false
[node name="Standard" type="Node2D" parent="easy"]
position = Vector2(134, 73)
scale = Vector2(0.5, 0.5)
[node name="Great1" type="Node2D" parent="easy"]
position = Vector2(180, 151)
scale = Vector2(0.9, 0.9)
[node name="Great2" type="Node2D" parent="easy"]
position = Vector2(270, 151)
scale = Vector2(0.9, 0.9)
[node name="medium" type="Node2D" parent="."]
visible = false
[node name="Background_Image" type="TextureRect" parent="medium"]
offset_left = 117.0
offset_top = 55.0
offset_right = 340.0
offset_bottom = 187.0
texture = ExtResource("4_8gylx")
[node name="Standard" type="Node2D" parent="medium"]
position = Vector2(134, 73)
scale = Vector2(0.5, 0.5)
[node name="Good1" type="Node2D" parent="medium"]
position = Vector2(180, 105)
scale = Vector2(0.9, 0.9)
[node name="Good2" type="Node2D" parent="medium"]
position = Vector2(270, 105)
scale = Vector2(0.9, 0.9)
[node name="Great1" type="Node2D" parent="medium"]
position = Vector2(180, 196)
scale = Vector2(0.9, 0.9)
[node name="Great2" type="Node2D" parent="medium"]
position = Vector2(270, 196)
scale = Vector2(0.9, 0.9)
[node name="hard" type="Node2D" parent="."]
visible = false
[node name="Background_Image" type="TextureRect" parent="hard"]
offset_left = 117.0
offset_top = 55.0
offset_right = 340.0
offset_bottom = 187.0
texture = ExtResource("5_hl5js")
[node name="Standard" type="Node2D" parent="hard"]
position = Vector2(134, 73)
scale = Vector2(0.5, 0.5)
[node name="Poor1" type="Node2D" parent="hard"]
position = Vector2(180, 87)
scale = Vector2(0.9, 0.9)
[node name="Poor2" type="Node2D" parent="hard"]
position = Vector2(270, 87)
scale = Vector2(0.9, 0.9)
[node name="Good1" type="Node2D" parent="hard"]
position = Vector2(180, 151)
scale = Vector2(0.9, 0.9)
[node name="Good2" type="Node2D" parent="hard"]
position = Vector2(270, 151)
scale = Vector2(0.9, 0.9)
[node name="Great1" type="Node2D" parent="hard"]
position = Vector2(180, 209)
scale = Vector2(0.9, 0.9)
[node name="Great2" type="Node2D" parent="hard"]
position = Vector2(270, 209)
scale = Vector2(0.9, 0.9)
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(175, 124.5)
shape = SubResource("RectangleShape2D_70vuu")
[node name="Control" type="Control" parent="."]
visible = false
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="4turn" type="Button" parent="Control"]
visible = false
layout_mode = 0
offset_left = 91.0
offset_top = 56.0
offset_right = 155.0
offset_bottom = 118.0
text = "4"
[node name="3turn" type="Button" parent="Control"]
visible = false
layout_mode = 0
offset_left = 90.0
offset_top = 131.0
offset_right = 154.0
offset_bottom = 193.0
text = "3"
[node name="2turn" type="Button" parent="Control"]
visible = false
layout_mode = 0
offset_left = 176.0
offset_top = 132.0
offset_right = 240.0
offset_bottom = 194.0
text = "2"
[node name="1turn" type="Button" parent="Control"]
visible = false
layout_mode = 0
offset_left = 176.0
offset_top = 56.0
offset_right = 240.0
offset_bottom = 118.0
text = "1"
[connection signal="pressed" from="Control/4turn" to="." method="_on_turn_pressed" binds= [4]]
[connection signal="pressed" from="Control/3turn" to="." method="_on_turn_pressed" binds= [3]]
[connection signal="pressed" from="Control/2turn" to="." method="_on_turn_pressed" binds= [2]]
[connection signal="pressed" from="Control/1turn" to="." method="_on_turn_pressed" binds= [1]]

684
Scenes/client_editor.tscn Normal file
View File

@ -0,0 +1,684 @@
[gd_scene load_steps=16 format=3 uid="uid://bggwj8tr3hcph"]
[ext_resource type="Script" path="res://Scripts/client_card_crafter.gd" id="1_lgqnu"]
[ext_resource type="Texture2D" uid="uid://d127pfpldgh1l" path="res://Assets/generatordesign.png" id="2_58m7y"]
[ext_resource type="PackedScene" uid="uid://b41yu27wmglap" path="res://Scenes/icon_button.tscn" id="3_kfv0r"]
[ext_resource type="PackedScene" uid="uid://c7j6lwbwgbosr" path="res://Scenes/client_card.tscn" id="4_3c34i"]
[ext_resource type="Texture2D" uid="uid://de0gq6h0onwex" path="res://Assets/slice.png" id="5_wfdti"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_p5rfg"]
load_path = "res://.godot/imported/icons.png-09c24313aa75a5df81de880395d42450.ctex"
[sub_resource type="AtlasTexture" id="AtlasTexture_4fx3s"]
atlas = SubResource("CompressedTexture2D_p5rfg")
region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_thch8"]
atlas = SubResource("CompressedTexture2D_p5rfg")
region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_um33r"]
atlas = SubResource("CompressedTexture2D_p5rfg")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_1bvig"]
atlas = SubResource("CompressedTexture2D_p5rfg")
region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_t81qe"]
atlas = SubResource("CompressedTexture2D_p5rfg")
region = Rect2(160, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_703sl"]
atlas = SubResource("CompressedTexture2D_p5rfg")
region = Rect2(192, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_cyh1f"]
atlas = SubResource("CompressedTexture2D_p5rfg")
region = Rect2(224, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_kkprq"]
atlas = SubResource("CompressedTexture2D_p5rfg")
region = Rect2(256, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_02lrn"]
atlas = SubResource("CompressedTexture2D_p5rfg")
region = Rect2(288, 0, 32, 32)
[node name="Card Crafter" type="Node2D"]
script = ExtResource("1_lgqnu")
[node name="main_camera" type="Camera2D" parent="."]
[node name="background_image" type="Sprite2D" parent="."]
texture = ExtResource("2_58m7y")
[node name="generate" type="Button" parent="."]
offset_left = -902.0
offset_top = -367.0
offset_right = -527.0
offset_bottom = -292.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "generate"
[node name="new" type="Button" parent="."]
offset_left = -902.0
offset_top = -524.0
offset_right = -527.0
offset_bottom = -449.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "new"
[node name="new2" type="Button" parent="."]
offset_left = 652.0
offset_top = -526.0
offset_right = 941.0
offset_bottom = -471.0
theme_override_font_sizes/font_size = 28
action_mode = 0
text = "Return to Main Menu"
[node name="load" type="Button" parent="."]
offset_left = -711.0
offset_top = -446.0
offset_right = -527.0
offset_bottom = -371.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "load"
[node name="save" type="Button" parent="."]
offset_left = -902.0
offset_top = -446.0
offset_right = -714.0
offset_bottom = -371.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "save"
[node name="edit" type="Button" parent="."]
offset_left = -902.0
offset_top = 335.0
offset_right = -523.0
offset_bottom = 410.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "edit"
[node name="delete" type="Button" parent="."]
offset_left = -902.0
offset_top = 414.0
offset_right = -523.0
offset_bottom = 489.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "delete"
[node name="prev" type="Button" parent="."]
offset_left = -902.0
offset_top = 255.0
offset_right = -715.0
offset_bottom = 330.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "prev"
[node name="next" type="Button" parent="."]
offset_left = -711.0
offset_top = 255.0
offset_right = -523.0
offset_bottom = 330.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "next"
[node name="crossbutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = -190.0
offset_top = -380.0
offset_right = -27.0
offset_bottom = -208.0
[node name="squarebutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = 14.0
offset_top = -384.0
offset_right = 178.0
offset_bottom = -207.0
[node name="trianglebutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = -346.0
offset_top = -254.0
offset_right = -185.0
offset_bottom = -75.0
[node name="crescentbutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = 173.0
offset_top = -248.0
offset_right = 338.0
offset_bottom = -76.0
[node name="puppybutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = -385.0
offset_top = -52.0
offset_right = -220.0
offset_bottom = 127.0
[node name="riverbutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = 211.0
offset_top = -49.0
offset_right = 375.0
offset_bottom = 128.0
[node name="starbutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = -280.0
offset_top = 126.0
offset_right = -117.0
offset_bottom = 307.0
[node name="chainbutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = 104.0
offset_top = 133.0
offset_right = 270.0
offset_bottom = 310.0
[node name="gustbutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = -84.0
offset_top = 196.0
offset_right = 79.0
offset_bottom = 374.0
[node name="eightbutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = 421.0
offset_top = -480.0
offset_right = 584.0
offset_bottom = -302.0
[node name="tenbutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = 789.0
offset_top = -480.0
offset_right = 952.0
offset_bottom = -302.0
[node name="twelvebutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = 426.0
offset_top = 257.0
offset_right = 589.0
offset_bottom = 435.0
[node name="fourteenbutton" parent="." instance=ExtResource("3_kfv0r")]
offset_left = 789.0
offset_top = 255.0
offset_right = 952.0
offset_bottom = 433.0
[node name="crosscount" type="LineEdit" parent="."]
offset_left = -259.0
offset_top = -443.0
offset_right = -75.0
offset_bottom = -368.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="squarecount" type="LineEdit" parent="."]
offset_left = 73.0
offset_top = -443.0
offset_right = 257.0
offset_bottom = -368.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="crescentcount" type="LineEdit" parent="."]
offset_left = 264.0
offset_top = -285.0
offset_right = 448.0
offset_bottom = -210.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="rivercount" type="LineEdit" parent="."]
offset_left = 337.0
offset_top = 38.0
offset_right = 521.0
offset_bottom = 113.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="chaincount" type="LineEdit" parent="."]
offset_left = 202.0
offset_top = 280.0
offset_right = 386.0
offset_bottom = 355.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="gustcount" type="LineEdit" parent="."]
offset_left = -90.0
offset_top = 395.0
offset_right = 94.0
offset_bottom = 470.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="starcount" type="LineEdit" parent="."]
offset_left = -386.0
offset_top = 282.0
offset_right = -202.0
offset_bottom = 357.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="puppycount" type="LineEdit" parent="."]
offset_left = -519.0
offset_top = 40.0
offset_right = -335.0
offset_bottom = 115.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="trianglecount" type="LineEdit" parent="."]
offset_left = -447.0
offset_top = -284.0
offset_right = -263.0
offset_bottom = -209.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="easycount" type="LineEdit" parent="."]
offset_left = 692.0
offset_top = -265.0
offset_right = 876.0
offset_bottom = -190.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="mediumcount" type="LineEdit" parent="."]
offset_left = 692.0
offset_top = -124.0
offset_right = 876.0
offset_bottom = -49.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="hardcount" type="LineEdit" parent="."]
offset_left = 690.0
offset_top = 14.0
offset_right = 874.0
offset_bottom = 89.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="Control" type="ReferenceRect" parent="."]
offset_left = -39.0
offset_top = -47.0
offset_right = 1.0
offset_bottom = -7.0
[node name="Card" parent="Control" instance=ExtResource("4_3c34i")]
position = Vector2(-180, -121)
scale = Vector2(1.25, 1.25)
[node name="ItemList" type="OptionButton" parent="Control"]
layout_mode = 2
offset_left = -31.0
offset_top = -33.0
offset_right = 112.0
offset_bottom = 28.0
item_count = 10
popup/item_0/text = "none"
popup/item_0/id = 0
popup/item_1/text = "cross"
popup/item_1/icon = SubResource("AtlasTexture_4fx3s")
popup/item_1/id = 1
popup/item_2/text = "square"
popup/item_2/icon = SubResource("AtlasTexture_thch8")
popup/item_2/id = 2
popup/item_3/text = "triangle"
popup/item_3/icon = SubResource("AtlasTexture_um33r")
popup/item_3/id = 3
popup/item_4/text = "crescent"
popup/item_4/icon = SubResource("AtlasTexture_1bvig")
popup/item_4/id = 4
popup/item_5/text = "puppy"
popup/item_5/icon = SubResource("AtlasTexture_t81qe")
popup/item_5/id = 5
popup/item_6/text = "river"
popup/item_6/icon = SubResource("AtlasTexture_703sl")
popup/item_6/id = 6
popup/item_7/text = "star"
popup/item_7/icon = SubResource("AtlasTexture_cyh1f")
popup/item_7/id = 7
popup/item_8/text = "chain"
popup/item_8/icon = SubResource("AtlasTexture_kkprq")
popup/item_8/id = 8
popup/item_9/text = "gust"
popup/item_9/icon = SubResource("AtlasTexture_02lrn")
popup/item_9/id = 9
[node name="ItemList2" type="OptionButton" parent="Control"]
layout_mode = 2
offset_left = 116.0
offset_top = -33.0
offset_right = 259.0
offset_bottom = 28.0
item_count = 10
popup/item_0/text = "none"
popup/item_0/id = 0
popup/item_1/text = "cross"
popup/item_1/icon = SubResource("AtlasTexture_4fx3s")
popup/item_1/id = 1
popup/item_2/text = "square"
popup/item_2/icon = SubResource("AtlasTexture_thch8")
popup/item_2/id = 2
popup/item_3/text = "triangle"
popup/item_3/icon = SubResource("AtlasTexture_um33r")
popup/item_3/id = 3
popup/item_4/text = "crescent"
popup/item_4/icon = SubResource("AtlasTexture_1bvig")
popup/item_4/id = 4
popup/item_5/text = "puppy"
popup/item_5/icon = SubResource("AtlasTexture_t81qe")
popup/item_5/id = 5
popup/item_6/text = "river"
popup/item_6/icon = SubResource("AtlasTexture_703sl")
popup/item_6/id = 6
popup/item_7/text = "star"
popup/item_7/icon = SubResource("AtlasTexture_cyh1f")
popup/item_7/id = 7
popup/item_8/text = "chain"
popup/item_8/icon = SubResource("AtlasTexture_kkprq")
popup/item_8/id = 8
popup/item_9/text = "gust"
popup/item_9/icon = SubResource("AtlasTexture_02lrn")
popup/item_9/id = 9
[node name="ItemList3" type="OptionButton" parent="Control"]
layout_mode = 2
offset_left = -31.0
offset_top = 36.0
offset_right = 112.0
offset_bottom = 97.0
item_count = 10
popup/item_0/text = "none"
popup/item_0/id = 0
popup/item_1/text = "cross"
popup/item_1/icon = SubResource("AtlasTexture_4fx3s")
popup/item_1/id = 1
popup/item_2/text = "square"
popup/item_2/icon = SubResource("AtlasTexture_thch8")
popup/item_2/id = 2
popup/item_3/text = "triangle"
popup/item_3/icon = SubResource("AtlasTexture_um33r")
popup/item_3/id = 3
popup/item_4/text = "crescent"
popup/item_4/icon = SubResource("AtlasTexture_1bvig")
popup/item_4/id = 4
popup/item_5/text = "puppy"
popup/item_5/icon = SubResource("AtlasTexture_t81qe")
popup/item_5/id = 5
popup/item_6/text = "river"
popup/item_6/icon = SubResource("AtlasTexture_703sl")
popup/item_6/id = 6
popup/item_7/text = "star"
popup/item_7/icon = SubResource("AtlasTexture_cyh1f")
popup/item_7/id = 7
popup/item_8/text = "chain"
popup/item_8/icon = SubResource("AtlasTexture_kkprq")
popup/item_8/id = 8
popup/item_9/text = "gust"
popup/item_9/icon = SubResource("AtlasTexture_02lrn")
popup/item_9/id = 9
[node name="ItemList4" type="OptionButton" parent="Control"]
layout_mode = 2
offset_left = 116.0
offset_top = 36.0
offset_right = 259.0
offset_bottom = 97.0
item_count = 10
popup/item_0/text = "none"
popup/item_0/id = 0
popup/item_1/text = "cross"
popup/item_1/icon = SubResource("AtlasTexture_4fx3s")
popup/item_1/id = 1
popup/item_2/text = "square"
popup/item_2/icon = SubResource("AtlasTexture_thch8")
popup/item_2/id = 2
popup/item_3/text = "triangle"
popup/item_3/icon = SubResource("AtlasTexture_um33r")
popup/item_3/id = 3
popup/item_4/text = "crescent"
popup/item_4/icon = SubResource("AtlasTexture_1bvig")
popup/item_4/id = 4
popup/item_5/text = "puppy"
popup/item_5/icon = SubResource("AtlasTexture_t81qe")
popup/item_5/id = 5
popup/item_6/text = "river"
popup/item_6/icon = SubResource("AtlasTexture_703sl")
popup/item_6/id = 6
popup/item_7/text = "star"
popup/item_7/icon = SubResource("AtlasTexture_cyh1f")
popup/item_7/id = 7
popup/item_8/text = "chain"
popup/item_8/icon = SubResource("AtlasTexture_kkprq")
popup/item_8/id = 8
popup/item_9/text = "gust"
popup/item_9/icon = SubResource("AtlasTexture_02lrn")
popup/item_9/id = 9
[node name="ItemList5" type="OptionButton" parent="Control"]
layout_mode = 2
offset_left = -32.0
offset_top = 104.0
offset_right = 111.0
offset_bottom = 165.0
item_count = 10
popup/item_0/text = "none"
popup/item_0/id = 0
popup/item_1/text = "cross"
popup/item_1/icon = SubResource("AtlasTexture_4fx3s")
popup/item_1/id = 1
popup/item_2/text = "square"
popup/item_2/icon = SubResource("AtlasTexture_thch8")
popup/item_2/id = 2
popup/item_3/text = "triangle"
popup/item_3/icon = SubResource("AtlasTexture_um33r")
popup/item_3/id = 3
popup/item_4/text = "crescent"
popup/item_4/icon = SubResource("AtlasTexture_1bvig")
popup/item_4/id = 4
popup/item_5/text = "puppy"
popup/item_5/icon = SubResource("AtlasTexture_t81qe")
popup/item_5/id = 5
popup/item_6/text = "river"
popup/item_6/icon = SubResource("AtlasTexture_703sl")
popup/item_6/id = 6
popup/item_7/text = "star"
popup/item_7/icon = SubResource("AtlasTexture_cyh1f")
popup/item_7/id = 7
popup/item_8/text = "chain"
popup/item_8/icon = SubResource("AtlasTexture_kkprq")
popup/item_8/id = 8
popup/item_9/text = "gust"
popup/item_9/icon = SubResource("AtlasTexture_02lrn")
popup/item_9/id = 9
[node name="ItemList6" type="OptionButton" parent="Control"]
layout_mode = 2
offset_left = 115.0
offset_top = 104.0
offset_right = 258.0
offset_bottom = 165.0
item_count = 10
popup/item_0/text = "none"
popup/item_0/id = 0
popup/item_1/text = "cross"
popup/item_1/icon = SubResource("AtlasTexture_4fx3s")
popup/item_1/id = 1
popup/item_2/text = "square"
popup/item_2/icon = SubResource("AtlasTexture_thch8")
popup/item_2/id = 2
popup/item_3/text = "triangle"
popup/item_3/icon = SubResource("AtlasTexture_um33r")
popup/item_3/id = 3
popup/item_4/text = "crescent"
popup/item_4/icon = SubResource("AtlasTexture_1bvig")
popup/item_4/id = 4
popup/item_5/text = "puppy"
popup/item_5/icon = SubResource("AtlasTexture_t81qe")
popup/item_5/id = 5
popup/item_6/text = "river"
popup/item_6/icon = SubResource("AtlasTexture_703sl")
popup/item_6/id = 6
popup/item_7/text = "star"
popup/item_7/icon = SubResource("AtlasTexture_cyh1f")
popup/item_7/id = 7
popup/item_8/text = "chain"
popup/item_8/icon = SubResource("AtlasTexture_kkprq")
popup/item_8/id = 8
popup/item_9/text = "gust"
popup/item_9/icon = SubResource("AtlasTexture_02lrn")
popup/item_9/id = 9
[node name="LineEdit" type="LineEdit" parent="Control"]
layout_mode = 0
offset_left = 29.0
offset_top = -111.0
offset_right = 188.0
offset_bottom = -69.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_colors/font_placeholder_color = Color(0, 0, 0, 0.537255)
theme_override_font_sizes/font_size = 24
text = "Task 1"
placeholder_text = "Task name"
alignment = 1
flat = true
[node name="LineEdit2" type="LineEdit" parent="Control"]
layout_mode = 0
offset_left = -58.0
offset_top = -112.0
offset_right = 38.0
offset_bottom = -70.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_colors/font_placeholder_color = Color(0, 0, 0, 0.537255)
theme_override_font_sizes/font_size = 24
placeholder_text = "99"
alignment = 1
flat = true
[node name="TextureButton2" type="TextureButton" parent="Control"]
layout_mode = 0
offset_left = 226.0
offset_top = -91.0
offset_right = 266.0
offset_bottom = -51.0
scale = Vector2(1.25, 1.25)
toggle_mode = true
button_pressed = true
texture_pressed = ExtResource("5_wfdti")
flip_v = true
[node name="TextureButton" type="TextureButton" parent="Control"]
layout_mode = 0
offset_left = 227.0
offset_top = -88.0
offset_right = 267.0
offset_bottom = -48.0
rotation = -1.57079
scale = Vector2(1.25, 1.25)
toggle_mode = true
button_pressed = true
texture_pressed = ExtResource("5_wfdti")
flip_v = true
[node name="TextureButton4" type="TextureButton" parent="Control"]
layout_mode = 0
offset_left = 228.0
offset_top = -89.0
offset_right = 268.0
offset_bottom = -49.0
rotation = -3.14159
scale = Vector2(1.25, 1.25)
toggle_mode = true
button_pressed = true
texture_pressed = ExtResource("5_wfdti")
flip_v = true
[node name="TextureButton3" type="TextureButton" parent="Control"]
layout_mode = 0
offset_left = 228.0
offset_top = -91.0
offset_right = 268.0
offset_bottom = -51.0
rotation = -4.71238
scale = Vector2(1.25, 1.25)
toggle_mode = true
button_pressed = true
texture_pressed = ExtResource("5_wfdti")
flip_v = true
[node name="card_count" type="Label" parent="."]
offset_left = -739.0
offset_top = 229.0
offset_right = -687.0
offset_bottom = 255.0
text = "24/100"
[connection signal="button_down" from="generate" to="." method="generate_card_from_buttons"]
[connection signal="button_down" from="new" to="." method="new_deck"]
[connection signal="button_up" from="new2" to="." method="_on_new_2_button_up"]
[connection signal="button_down" from="load" to="." method="load_deck"]
[connection signal="button_down" from="save" to="." method="save_deck"]
[connection signal="button_down" from="edit" to="." method="edit_card"]
[connection signal="button_down" from="delete" to="." method="delete_card"]
[connection signal="button_down" from="prev" to="." method="select_prev"]
[connection signal="button_down" from="next" to="." method="select_next"]

56
Scenes/gameplay.tscn Normal file
View File

@ -0,0 +1,56 @@
[gd_scene load_steps=2 format=3 uid="uid://b33xjpvgbjl08"]
[ext_resource type="Script" path="res://Scenes/network_lobby.gd" id="1_yetq7"]
[node name="Root" type="Node2D"]
script = ExtResource("1_yetq7")
[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."]
_spawnable_scenes = PackedStringArray("res://Scenes/player.tscn", "res://Scenes/board.tscn")
spawn_path = NodePath("../Network")
[node name="Network" type="Node" parent="."]
[node name="UI" type="VBoxContainer" parent="."]
offset_right = 116.0
offset_bottom = 136.0
[node name="IPField" type="LineEdit" parent="UI"]
layout_mode = 2
placeholder_text = "localhost"
alignment = 2
[node name="PortField" type="LineEdit" parent="UI"]
layout_mode = 2
placeholder_text = "58008"
alignment = 2
[node name="Connect" type="Button" parent="UI"]
layout_mode = 2
text = "Connect"
[node name="Host" type="Button" parent="UI"]
layout_mode = 2
text = "Host"
[node name="SinglePlayer" type="Button" parent="UI"]
layout_mode = 2
text = "SinglePlayer"
[node name="TablePosition1" type="Node2D" parent="."]
position = Vector2(-2, 1475)
[node name="TablePosition2" type="Node2D" parent="."]
position = Vector2(1922, 1475)
[node name="TablePosition3" type="Node2D" parent="."]
position = Vector2(-2, -339)
rotation = 3.14159
[node name="TablePosition4" type="Node2D" parent="."]
position = Vector2(1922, -339)
rotation = 3.14159
[connection signal="pressed" from="UI/Connect" to="." method="connect_to_server"]
[connection signal="pressed" from="UI/Host" to="." method="host_server"]
[connection signal="pressed" from="UI/SinglePlayer" to="." method="_on_single_player_pressed"]

31
Scenes/icon_button.tscn Normal file
View File

@ -0,0 +1,31 @@
[gd_scene load_steps=5 format=3 uid="uid://b41yu27wmglap"]
[ext_resource type="Script" path="res://Scripts/icon_button.gd" id="1_0fxs0"]
[ext_resource type="Texture2D" uid="uid://c2oy6ox1ukog8" path="res://Assets/frame.png" id="2_n5xcj"]
[ext_resource type="Texture2D" uid="uid://b5anmd3k3fuui" path="res://Assets/goldring.png" id="3_ouhcr"]
[ext_resource type="Texture2D" uid="uid://cw373mc2nyf0t" path="res://Assets/redring.png" id="4_0e655"]
[node name="TextureButton" type="TextureButton"]
offset_right = 164.0
offset_bottom = 176.0
button_mask = 3
script = ExtResource("1_0fxs0")
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(87, 87)
scale = Vector2(3.5, 3.5)
texture = ExtResource("2_n5xcj")
[node name="Sprite2D2" type="Sprite2D" parent="."]
visible = false
position = Vector2(87, 88)
scale = Vector2(3.5, 3.5)
texture = ExtResource("3_ouhcr")
[node name="Sprite2D3" type="Sprite2D" parent="."]
visible = false
position = Vector2(87, 88)
scale = Vector2(3.5, 3.5)
texture = ExtResource("4_0e655")
[connection signal="gui_input" from="." to="." method="_on_gui_input"]

78
Scenes/main_menu.tscn Normal file
View File

@ -0,0 +1,78 @@
[gd_scene load_steps=2 format=3 uid="uid://cohkyvbxr2gnh"]
[ext_resource type="Script" path="res://Scripts/main_menu.gd" id="1_cg0id"]
[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_cg0id")
[node name="Title" type="Label" parent="."]
layout_mode = 0
offset_left = 462.0
offset_top = 67.0
offset_right = 1395.0
offset_bottom = 246.0
theme_override_font_sizes/font_size = 129
text = "Lexi's Game"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Play Game" type="Button" parent="."]
layout_mode = 0
offset_left = 740.0
offset_top = 297.0
offset_right = 1094.0
offset_bottom = 460.0
theme_override_font_sizes/font_size = 40
text = "Play"
[node name="Worker Deck" type="Button" parent="."]
visible = false
layout_mode = 0
offset_left = 740.0
offset_top = 569.0
offset_right = 1094.0
offset_bottom = 732.0
theme_override_font_sizes/font_size = 40
text = "worker deck
dev tool"
[node name="Task Deck" type="Button" parent="."]
visible = false
layout_mode = 0
offset_left = 740.0
offset_top = 745.0
offset_right = 1094.0
offset_bottom = 908.0
theme_override_font_sizes/font_size = 40
text = "task deck
dev tool"
[node name="CheckButton" type="CheckButton" parent="."]
layout_mode = 0
offset_left = 1009.0
offset_top = 491.0
offset_right = 1053.0
offset_bottom = 515.0
scale = Vector2(2, 2)
[node name="Label" type="Label" parent="."]
layout_mode = 0
offset_left = 738.0
offset_top = 482.0
offset_right = 1002.0
offset_bottom = 540.0
theme_override_font_sizes/font_size = 35
text = "Show dev tools"
horizontal_alignment = 1
vertical_alignment = 1
[connection signal="pressed" from="Play Game" to="." method="_on_play_game_pressed"]
[connection signal="pressed" from="Worker Deck" to="." method="_on_button_pressed"]
[connection signal="pressed" from="Task Deck" to="." method="_on_button_2_pressed"]
[connection signal="toggled" from="CheckButton" to="." method="_on_check_button_toggled"]

62
Scenes/network_lobby.gd Normal file
View File

@ -0,0 +1,62 @@
extends Node2D
const SERVER_PORT := 58008
const MAX_PLAYERS := 4
var player_scene = preload("res://Scenes/player.tscn")
var board_scene = preload("res://Scenes/board.tscn")
@export var seats : Array[Node2D] = [null, null, null, null]
var enet_peer = ENetMultiplayerPeer.new()
var board : Board
var players_connected = 0
func _ready() -> void:
seats[0] = $TablePosition1
seats[1] = $TablePosition2
seats[2] = $TablePosition3
seats[3] = $TablePosition4
func host_server() -> void:
$UI.visible = false
enet_peer.create_server(SERVER_PORT, MAX_PLAYERS)
multiplayer.multiplayer_peer = enet_peer
multiplayer.peer_connected.connect(create_player)
create_player(multiplayer.get_unique_id())
func connect_to_server() -> void:
$UI.visible = false
var ip = $UI/IPField.text if $UI/IPField.text != "" else $UI/IPField.placeholder_text
var port = $UI/PortField.text if $UI/PortField.text != "" else $UI/PortField.placeholder_text
enet_peer.create_client(ip, int(port))
multiplayer.multiplayer_peer = enet_peer
func create_player(id):
if board == null:
board = board_scene.instantiate() as Board
$Network.add_child(board)
var player = player_scene.instantiate() as Player
player.set_name(str(id))
player.set_multiplayer_authority(id)
player.position = seats[players_connected].position
player.rotation = seats[players_connected].rotation
$Network.add_child(player)
player.rpc("attach_board", board.get_path())
players_connected += 1
func _on_single_player_pressed() -> void:
$UI.visible = false
board = board_scene.instantiate() as Board
add_child(board)
var player = player_scene.instantiate() as Player
add_child(player)
player.attach_board(board.get_path())

278
Scenes/player.tscn Normal file
View File

@ -0,0 +1,278 @@
[gd_scene load_steps=7 format=3 uid="uid://cuptyfol5sy52"]
[ext_resource type="Script" path="res://Scripts/player.gd" id="1_5kyvf"]
[ext_resource type="PackedScene" uid="uid://baoec8cqmedf6" path="res://Scenes/worker_slot.tscn" id="2_ugx0h"]
[ext_resource type="PackedScene" uid="uid://y2i3u6n1oowh" path="res://Scenes/card_pile.tscn" id="3_gwbfn"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_78syh"]
size = Vector2(920, 268)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_vw0g8"]
size = Vector2(308, 269)
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_jxmks"]
properties/0/path = NodePath(".:position")
properties/0/spawn = true
properties/0/sync = true
[node name="Player" type="Node2D"]
script = ExtResource("1_5kyvf")
seconds_to_hide_hand = 0.3
seconds_to_show_hand = 0.3
[node name="Camera2D" type="Camera2D" parent="."]
[node name="Money" type="Label" parent="Camera2D"]
offset_left = -860.0
offset_top = -154.0
offset_right = -803.0
offset_bottom = -14.0
theme_override_font_sizes/font_size = 80
text = "$"
[node name="Payout" type="Label" parent="Camera2D"]
offset_left = -624.0
offset_top = -154.0
offset_right = -567.0
offset_bottom = -14.0
theme_override_colors/font_color = Color(0, 0.858824, 0, 1)
theme_override_font_sizes/font_size = 80
[node name="Cost" type="Label" parent="Camera2D"]
offset_left = -624.0
offset_top = -154.0
offset_right = -567.0
offset_bottom = -14.0
theme_override_colors/font_color = Color(0.839216, 0, 0.105882, 1)
theme_override_font_sizes/font_size = 80
[node name="PhaseLabel" type="Label" parent="Camera2D"]
offset_left = -151.0
offset_top = -518.0
offset_right = 117.0
offset_bottom = -476.0
theme_override_font_sizes/font_size = 28
text = "Management Phase"
[node name="EndManagement" type="Button" parent="Camera2D"]
offset_left = 138.0
offset_top = -530.0
offset_right = 483.0
offset_bottom = -467.0
theme_override_font_sizes/font_size = 40
text = "End Management"
[node name="EndShift" type="Button" parent="Camera2D"]
visible = false
offset_left = 138.0
offset_top = -530.0
offset_right = 317.0
offset_bottom = -467.0
theme_override_font_sizes/font_size = 40
text = "End Shift
"
[node name="EndTurn" type="Button" parent="Camera2D"]
visible = false
offset_left = 699.0
offset_top = -525.0
offset_right = 879.0
offset_bottom = -462.0
theme_override_font_sizes/font_size = 40
text = "End Turn"
[node name="EndDraft" type="Button" parent="Camera2D"]
visible = false
offset_left = -214.0
offset_top = 275.0
offset_right = 184.0
offset_bottom = 420.0
theme_override_font_sizes/font_size = 100
text = "Confirm"
[node name="CancelDraft" type="Button" parent="Camera2D"]
visible = false
offset_left = -435.0
offset_top = 313.0
offset_right = -266.0
offset_bottom = 390.0
theme_override_font_sizes/font_size = 50
text = "Cancel"
[node name="RoundCounter" type="Label" parent="Camera2D"]
offset_left = -410.0
offset_top = -519.0
offset_right = -308.0
offset_bottom = -482.0
theme_override_font_sizes/font_size = 24
text = "Round: 1"
[node name="TurnCounter" type="Label" parent="Camera2D"]
visible = false
offset_left = -545.0
offset_top = -518.0
offset_right = -491.0
offset_bottom = -481.0
theme_override_font_sizes/font_size = 24
text = "Turn: 1"
[node name="States" type="Node2D" parent="."]
[node name="Draft" type="Node2D" parent="States"]
[node name="Setup" type="Node2D" parent="States"]
[node name="Management" type="Node2D" parent="States"]
[node name="Worker" type="Node2D" parent="States"]
[node name="HoldingWorker" type="Node2D" parent="States"]
[node name="Shift" type="Node2D" parent="States"]
[node name="HoldingClient" type="Node2D" parent="States"]
[node name="RosterSection" type="Node2D" parent="."]
[node name="Position1" type="Node2D" parent="RosterSection"]
position = Vector2(-489, 525)
[node name="Position2" type="Node2D" parent="RosterSection"]
position = Vector2(-238, 525)
[node name="Position3" type="Node2D" parent="RosterSection"]
position = Vector2(13, 525)
[node name="Position4" type="Node2D" parent="RosterSection"]
position = Vector2(263, 525)
[node name="Position5" type="Node2D" parent="RosterSection"]
position = Vector2(516, 525)
[node name="Position6" type="Node2D" parent="RosterSection"]
position = Vector2(-489, 886)
[node name="Position7" type="Node2D" parent="RosterSection"]
position = Vector2(-238, 886)
[node name="Position8" type="Node2D" parent="RosterSection"]
position = Vector2(13, 886)
[node name="Position9" type="Node2D" parent="RosterSection"]
position = Vector2(263, 886)
[node name="Position10" type="Node2D" parent="RosterSection"]
position = Vector2(516, 886)
[node name="Position11" type="Node2D" parent="RosterSection"]
position = Vector2(-489, 1201)
[node name="Position12" type="Node2D" parent="RosterSection"]
position = Vector2(-238, 1201)
[node name="Position13" type="Node2D" parent="RosterSection"]
position = Vector2(13, 1201)
[node name="Position14" type="Node2D" parent="RosterSection"]
position = Vector2(263, 1201)
[node name="Position15" type="Node2D" parent="RosterSection"]
position = Vector2(516, 1201)
[node name="WorkerPlaySlots" type="Node2D" parent="."]
[node name="Slot1" parent="WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
position = Vector2(-631, 169)
scale = Vector2(1.5, 1.5)
[node name="Slot2" parent="WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
position = Vector2(-317, 169)
scale = Vector2(1.5, 1.5)
[node name="Slot3" parent="WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
position = Vector2(0, 169)
scale = Vector2(1.5, 1.5)
[node name="Slot4" parent="WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
position = Vector2(317, 169)
scale = Vector2(1.5, 1.5)
[node name="Slot5" parent="WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
position = Vector2(629, 169)
scale = Vector2(1.5, 1.5)
[node name="TaskDrawDeck" parent="." instance=ExtResource("3_gwbfn")]
position = Vector2(500, -400)
scale = Vector2(1.5, 1.5)
[node name="Count" type="Label" parent="TaskDrawDeck"]
offset_left = -0.666656
offset_top = -25.3333
offset_right = 39.3333
offset_bottom = 0.666687
text = "0"
[node name="PoorDiscardPile" parent="." instance=ExtResource("3_gwbfn")]
position = Vector2(-800, -400)
scale = Vector2(1.5, 1.5)
[node name="GoodDiscardPile" parent="." instance=ExtResource("3_gwbfn")]
position = Vector2(-400, -400)
scale = Vector2(1.5, 1.5)
[node name="GreatDiscardPile" parent="." instance=ExtResource("3_gwbfn")]
position = Vector2(6.10352e-05, -400)
scale = Vector2(1.5, 1.5)
[node name="RosterButton" type="Area2D" parent="."]
position = Vector2(0, 476)
[node name="CollisionShape2D" type="CollisionShape2D" parent="RosterButton"]
position = Vector2(13, 19)
shape = SubResource("RectangleShape2D_78syh")
[node name="ReturnButton" type="Area2D" parent="."]
visible = false
position = Vector2(-844, 180)
[node name="CollisionShape2D" type="CollisionShape2D" parent="ReturnButton"]
position = Vector2(-68, 2)
shape = SubResource("RectangleShape2D_vw0g8")
disabled = true
[node name="Label" type="Label" parent="ReturnButton"]
offset_left = -45.0
offset_top = 54.0
offset_right = 5.0
offset_bottom = 80.0
text = "return"
[node name="HireWorkerButton" type="Button" parent="."]
offset_left = 629.0
offset_top = -103.0
offset_right = 833.0
offset_bottom = -54.0
theme_override_font_sizes/font_size = 24
text = "Hire Worker: $60"
[node name="PreviewTask" type="Node2D" parent="."]
position = Vector2(-154, -346)
[node name="Hand" type="Node2D" parent="."]
position = Vector2(0, 612)
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
replication_config = SubResource("SceneReplicationConfig_jxmks")
[connection signal="pressed" from="Camera2D/EndManagement" to="." method="enter_shift_overview_state"]
[connection signal="pressed" from="Camera2D/EndShift" to="." method="enter_management_overview_state"]
[connection signal="pressed" from="Camera2D/EndTurn" to="." method="enter_shift_overview_state"]
[connection signal="pressed" from="Camera2D/EndDraft" to="." method="confirm_draft"]
[connection signal="pressed" from="Camera2D/CancelDraft" to="." method="cancel_draft"]
[connection signal="button_pushed" from="TaskDrawDeck" to="." method="_on_task_draw_deck_button_pushed"]
[connection signal="button_pushed" from="PoorDiscardPile" to="." method="move_to_poor_discard"]
[connection signal="input_event" from="RosterButton" to="." method="_on_area_2d_input_event"]
[connection signal="mouse_entered" from="RosterButton" to="." method="lift_hand"]
[connection signal="mouse_exited" from="RosterButton" to="." method="drop_hand"]
[connection signal="input_event" from="ReturnButton" to="." method="_on_area_2d_2_input_event"]
[connection signal="pressed" from="HireWorkerButton" to="." method="_on_hire_button_pressed"]

165
Scenes/worker_card.tscn Normal file
View File

@ -0,0 +1,165 @@
[gd_scene load_steps=12 format=3 uid="uid://dxs1dlcnwxx5g"]
[ext_resource type="Script" path="res://Scripts/worker.gd" id="1_bry7w"]
[ext_resource type="Texture2D" uid="uid://b5lwogcrjwpfj" path="res://Assets/card.png" id="2_taqnr"]
[ext_resource type="Texture2D" uid="uid://b4qqaaqnfnlft" path="res://Assets/icons.png" id="3_pj1i6"]
[ext_resource type="Texture2D" uid="uid://c2oy6ox1ukog8" path="res://Assets/frame.png" id="4_rce5w"]
[ext_resource type="Texture2D" uid="uid://b4lont873b556" path="res://Assets/super.png" id="5_a2bm7"]
[sub_resource type="Curve" id="Curve_7kl8o"]
min_value = -1.0
_data = [Vector2(0, -1), 0.0, 2.0, 0, 1, Vector2(1, 1), 2.0, 0.0, 1, 0]
point_count = 2
[sub_resource type="Curve" id="Curve_b6tcq"]
_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="Curve" id="Curve_scedo"]
min_value = -1.0
_data = [Vector2(0, -1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="LabelSettings" id="LabelSettings_xciys"]
font_size = 25
shadow_size = 0
[sub_resource type="LabelSettings" id="LabelSettings_88ebh"]
font_size = 24
[sub_resource type="RectangleShape2D" id="RectangleShape2D_awcy0"]
size = Vector2(250, 350)
[node name="Card" type="Node2D"]
position = Vector2(125, 175)
script = ExtResource("1_bry7w")
spread_curve = SubResource("Curve_7kl8o")
height_curve = SubResource("Curve_b6tcq")
rotation_curve = SubResource("Curve_scedo")
hand_width = 300.0
hand_height = 80.0
hand_rotation = 0.2
[node name="Sprite2D" type="Sprite2D" parent="."]
texture_filter = 1
texture = ExtResource("2_taqnr")
[node name="Title" type="Label" parent="Sprite2D"]
modulate = Color(0, 0, 0, 1)
texture_filter = 1
offset_left = -117.0
offset_top = -167.0
offset_right = 117.0
offset_bottom = -129.0
text = "Card Title"
label_settings = SubResource("LabelSettings_xciys")
horizontal_alignment = 1
vertical_alignment = 1
uppercase = true
[node name="Capacity" type="Label" parent="Sprite2D"]
modulate = Color(0, 0, 0, 1)
texture_filter = 1
offset_left = 77.0
offset_top = 126.0
offset_right = 114.0
offset_bottom = 163.0
text = "99"
label_settings = SubResource("LabelSettings_88ebh")
horizontal_alignment = 1
vertical_alignment = 1
uppercase = true
[node name="Bonus1" type="Node2D" parent="Sprite2D"]
[node name="Icon1" type="Sprite2D" parent="Sprite2D/Bonus1"]
visible = false
position = Vector2(-98, 148)
texture = ExtResource("3_pj1i6")
region_enabled = true
region_rect = Rect2(0, 0, 32, 32)
[node name="frame1" type="Sprite2D" parent="Sprite2D/Bonus1"]
position = Vector2(-99, 145)
texture = ExtResource("4_rce5w")
region_rect = Rect2(0, 0, 32, 32)
[node name="super1" type="Sprite2D" parent="Sprite2D/Bonus1"]
visible = false
position = Vector2(-98, 145)
texture = ExtResource("5_a2bm7")
region_rect = Rect2(0, 0, 32, 32)
[node name="Bonus2" type="Node2D" parent="Sprite2D"]
[node name="Icon2" type="Sprite2D" parent="Sprite2D/Bonus2"]
visible = false
position = Vector2(-53, 148)
texture = ExtResource("3_pj1i6")
region_enabled = true
region_rect = Rect2(0, 0, 32, 32)
[node name="frame2" type="Sprite2D" parent="Sprite2D/Bonus2"]
position = Vector2(-52, 145)
texture = ExtResource("4_rce5w")
region_rect = Rect2(0, 0, 32, 32)
[node name="super2" type="Sprite2D" parent="Sprite2D/Bonus2"]
visible = false
position = Vector2(-52, 145)
texture = ExtResource("5_a2bm7")
region_rect = Rect2(0, 0, 32, 32)
[node name="Bonus3" type="Node2D" parent="Sprite2D"]
[node name="Icon3" type="Sprite2D" parent="Sprite2D/Bonus3"]
visible = false
position = Vector2(-7, 148)
texture = ExtResource("3_pj1i6")
region_enabled = true
region_rect = Rect2(0, 0, 32, 32)
[node name="frame3" type="Sprite2D" parent="Sprite2D/Bonus3"]
position = Vector2(-6, 145)
texture = ExtResource("4_rce5w")
region_rect = Rect2(0, 0, 32, 32)
[node name="super3" type="Sprite2D" parent="Sprite2D/Bonus3"]
visible = false
position = Vector2(-6, 145)
texture = ExtResource("5_a2bm7")
region_rect = Rect2(0, 0, 32, 32)
[node name="Bonus4" type="Node2D" parent="Sprite2D"]
[node name="Icon4" type="Sprite2D" parent="Sprite2D/Bonus4"]
visible = false
position = Vector2(39, 148)
texture = ExtResource("3_pj1i6")
region_enabled = true
region_rect = Rect2(0, 0, 32, 32)
[node name="frame4" type="Sprite2D" parent="Sprite2D/Bonus4"]
position = Vector2(40, 145)
texture = ExtResource("4_rce5w")
region_rect = Rect2(0, 0, 32, 32)
[node name="super4" type="Sprite2D" parent="Sprite2D/Bonus4"]
visible = false
position = Vector2(40, 145)
texture = ExtResource("5_a2bm7")
region_rect = Rect2(0, 0, 32, 32)
[node name="Area2D" type="Area2D" parent="." groups=["Card"]]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
shape = SubResource("RectangleShape2D_awcy0")
[node name="Label" type="Label" parent="."]
offset_left = 127.0
offset_top = 153.0
offset_right = 167.0
offset_bottom = 179.0
text = "0"
[connection signal="input_event" from="Area2D" to="." method="_on_area_2d_input_event"]

405
Scenes/worker_editor.tscn Normal file
View File

@ -0,0 +1,405 @@
[gd_scene load_steps=4 format=3 uid="uid://dec4wcfgxajg5"]
[ext_resource type="Script" path="res://Scripts/card_crafter.gd" id="1_vn0ae"]
[ext_resource type="Texture2D" uid="uid://d127pfpldgh1l" path="res://Assets/generatordesign.png" id="2_1kq1c"]
[ext_resource type="PackedScene" uid="uid://b41yu27wmglap" path="res://Scenes/icon_button.tscn" id="3_421r6"]
[node name="Card Crafter" type="Node2D"]
script = ExtResource("1_vn0ae")
[node name="main_camera" type="Camera2D" parent="."]
[node name="background_image" type="Sprite2D" parent="."]
texture = ExtResource("2_1kq1c")
[node name="generate" type="Button" parent="."]
offset_left = -902.0
offset_top = -367.0
offset_right = -527.0
offset_bottom = -292.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "generate"
[node name="new" type="Button" parent="."]
offset_left = -902.0
offset_top = -524.0
offset_right = -527.0
offset_bottom = -449.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "new"
[node name="new2" type="Button" parent="."]
offset_left = 649.0
offset_top = -524.0
offset_right = 947.0
offset_bottom = -466.0
theme_override_font_sizes/font_size = 28
action_mode = 0
text = "Return to Main Menu"
[node name="load" type="Button" parent="."]
offset_left = -711.0
offset_top = -446.0
offset_right = -527.0
offset_bottom = -371.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "load"
[node name="save" type="Button" parent="."]
offset_left = -902.0
offset_top = -446.0
offset_right = -714.0
offset_bottom = -371.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "save"
[node name="edit" type="Button" parent="."]
offset_left = -902.0
offset_top = 335.0
offset_right = -523.0
offset_bottom = 410.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "edit"
[node name="delete" type="Button" parent="."]
offset_left = -902.0
offset_top = 414.0
offset_right = -523.0
offset_bottom = 489.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "delete"
[node name="prev" type="Button" parent="."]
offset_left = -902.0
offset_top = 255.0
offset_right = -715.0
offset_bottom = 330.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "prev"
[node name="next" type="Button" parent="."]
offset_left = -711.0
offset_top = 255.0
offset_right = -523.0
offset_bottom = 330.0
theme_override_font_sizes/font_size = 34
action_mode = 0
text = "next"
[node name="crossbutton" parent="." instance=ExtResource("3_421r6")]
offset_left = -190.0
offset_top = -380.0
offset_right = -27.0
offset_bottom = -208.0
[node name="squarebutton" parent="." instance=ExtResource("3_421r6")]
offset_left = 14.0
offset_top = -384.0
offset_right = 178.0
offset_bottom = -207.0
[node name="trianglebutton" parent="." instance=ExtResource("3_421r6")]
offset_left = -346.0
offset_top = -254.0
offset_right = -185.0
offset_bottom = -75.0
[node name="crescentbutton" parent="." instance=ExtResource("3_421r6")]
offset_left = 173.0
offset_top = -248.0
offset_right = 338.0
offset_bottom = -76.0
[node name="puppybutton" parent="." instance=ExtResource("3_421r6")]
offset_left = -385.0
offset_top = -52.0
offset_right = -220.0
offset_bottom = 127.0
[node name="riverbutton" parent="." instance=ExtResource("3_421r6")]
offset_left = 211.0
offset_top = -49.0
offset_right = 375.0
offset_bottom = 128.0
[node name="starbutton" parent="." instance=ExtResource("3_421r6")]
offset_left = -280.0
offset_top = 126.0
offset_right = -117.0
offset_bottom = 307.0
[node name="chainbutton" parent="." instance=ExtResource("3_421r6")]
offset_left = 104.0
offset_top = 133.0
offset_right = 270.0
offset_bottom = 310.0
[node name="gustbutton" parent="." instance=ExtResource("3_421r6")]
offset_left = -84.0
offset_top = 196.0
offset_right = 79.0
offset_bottom = 374.0
[node name="eightbutton" parent="." instance=ExtResource("3_421r6")]
offset_left = 421.0
offset_top = -480.0
offset_right = 584.0
offset_bottom = -302.0
[node name="tenbutton" parent="." instance=ExtResource("3_421r6")]
offset_left = 789.0
offset_top = -480.0
offset_right = 952.0
offset_bottom = -302.0
[node name="twelvebutton" parent="." instance=ExtResource("3_421r6")]
offset_left = 426.0
offset_top = 257.0
offset_right = 589.0
offset_bottom = 435.0
[node name="fourteenbutton" parent="." instance=ExtResource("3_421r6")]
offset_left = 789.0
offset_top = 255.0
offset_right = 952.0
offset_bottom = 433.0
[node name="crosscount" type="LineEdit" parent="."]
offset_left = -259.0
offset_top = -443.0
offset_right = -75.0
offset_bottom = -368.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="squarecount" type="LineEdit" parent="."]
offset_left = 73.0
offset_top = -443.0
offset_right = 257.0
offset_bottom = -368.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="crescentcount" type="LineEdit" parent="."]
offset_left = 264.0
offset_top = -285.0
offset_right = 448.0
offset_bottom = -210.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="rivercount" type="LineEdit" parent="."]
offset_left = 337.0
offset_top = 38.0
offset_right = 521.0
offset_bottom = 113.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="chaincount" type="LineEdit" parent="."]
offset_left = 202.0
offset_top = 280.0
offset_right = 386.0
offset_bottom = 355.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="gustcount" type="LineEdit" parent="."]
offset_left = -90.0
offset_top = 395.0
offset_right = 94.0
offset_bottom = 470.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="starcount" type="LineEdit" parent="."]
offset_left = -386.0
offset_top = 282.0
offset_right = -202.0
offset_bottom = 357.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="puppycount" type="LineEdit" parent="."]
offset_left = -519.0
offset_top = 40.0
offset_right = -335.0
offset_bottom = 115.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="trianglecount" type="LineEdit" parent="."]
offset_left = -447.0
offset_top = -284.0
offset_right = -263.0
offset_bottom = -209.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="eightcount" type="LineEdit" parent="."]
offset_left = 533.0
offset_top = -418.0
offset_right = 717.0
offset_bottom = -343.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="tencount" type="LineEdit" parent="."]
offset_left = 667.0
offset_top = -418.0
offset_right = 851.0
offset_bottom = -343.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="twelvecount" type="LineEdit" parent="."]
offset_left = 537.0
offset_top = 318.0
offset_right = 721.0
offset_bottom = 393.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="fourteencount" type="LineEdit" parent="."]
offset_left = 664.0
offset_top = 318.0
offset_right = 848.0
offset_bottom = 393.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="onecount" type="LineEdit" parent="."]
offset_left = 689.0
offset_top = -265.0
offset_right = 873.0
offset_bottom = -190.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="twocount" type="LineEdit" parent="."]
offset_left = 689.0
offset_top = -124.0
offset_right = 873.0
offset_bottom = -49.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="threecount" type="LineEdit" parent="."]
offset_left = 689.0
offset_top = 13.0
offset_right = 873.0
offset_bottom = 88.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="fourcount" type="LineEdit" parent="."]
offset_left = 689.0
offset_top = 157.0
offset_right = 873.0
offset_bottom = 232.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 48
text = "0"
alignment = 1
max_length = 2
flat = true
[node name="name_box" type="LineEdit" parent="."]
offset_left = -172.0
offset_top = -525.0
offset_right = 169.0
offset_bottom = -458.0
theme_override_font_sizes/font_size = 38
text = "worker 1"
placeholder_text = "worker name"
alignment = 1
clear_button_enabled = true
select_all_on_focus = true
[node name="card_count" type="Label" parent="."]
offset_left = -739.0
offset_top = 229.0
offset_right = -687.0
offset_bottom = 255.0
text = "23/100"
[connection signal="button_down" from="generate" to="." method="generate_card_from_buttons"]
[connection signal="button_down" from="new" to="." method="new_deck"]
[connection signal="button_up" from="new2" to="." method="_on_new_2_button_up"]
[connection signal="button_down" from="load" to="." method="load_deck"]
[connection signal="button_down" from="save" to="." method="save_deck"]
[connection signal="button_down" from="edit" to="." method="edit_card"]
[connection signal="button_down" from="delete" to="." method="delete_card"]
[connection signal="button_down" from="prev" to="." method="select_prev"]
[connection signal="button_down" from="next" to="." method="select_next"]

25
Scenes/worker_slot.tscn Normal file
View File

@ -0,0 +1,25 @@
[gd_scene load_steps=3 format=3 uid="uid://baoec8cqmedf6"]
[ext_resource type="Script" path="res://Scripts/slot_button.gd" id="1_fras1"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1gv0f"]
size = Vector2(152, 214)
[node name="Worker Slot" type="Node2D"]
script = ExtResource("1_fras1")
[node name="Label" type="Label" parent="."]
offset_left = -72.0
offset_top = -14.0
offset_right = 72.0
offset_bottom = 12.0
text = "Empty Worker Slot"
[node name="Area2D" type="Area2D" parent="."]
position = Vector2(-76, -103)
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(76, 107)
shape = SubResource("RectangleShape2D_1gv0f")
[connection signal="input_event" from="Area2D" to="." method="_on_area_2d_input_event"]