From 2c99ece532dde593004fa3ecb305f981bdb467fb Mon Sep 17 00:00:00 2001 From: Bo Thompson Date: Mon, 4 Aug 2025 21:12:30 -0400 Subject: [PATCH] Preliminary work on quest generation done --- active_scene.tscn | 9 +- data/jobs/job_data.gd | 1 + game_manager.gd | 1 + generate_quest_dialog.gd | 45 ++++ generate_quest_dialog.gd.uid | 1 + guild.gd | 2 + member_panel_entry.gd | 32 +++ member_panel_entry.gd.uid | 1 + member_panel_entry.tscn | 40 ++++ quest.gd | 2 + quest_panel_entry.gd | 32 +++ quest_panel_entry.gd.uid | 1 + quest_panel_entry.tscn | 34 ++++ receptionist.png | Bin 2311 -> 11038 bytes receptionist.tscn | 8 +- styles/primary_theme.tres | 13 ++ top_menu.gd | 35 ++++ top_menu.gd.uid | 1 + top_menu.tscn | 385 +++++++++++++++++++++++++++++++++-- 19 files changed, 609 insertions(+), 34 deletions(-) create mode 100644 generate_quest_dialog.gd create mode 100644 generate_quest_dialog.gd.uid create mode 100644 member_panel_entry.gd create mode 100644 member_panel_entry.gd.uid create mode 100644 member_panel_entry.tscn create mode 100644 quest_panel_entry.gd create mode 100644 quest_panel_entry.gd.uid create mode 100644 quest_panel_entry.tscn create mode 100644 styles/primary_theme.tres create mode 100644 top_menu.gd create mode 100644 top_menu.gd.uid diff --git a/active_scene.tscn b/active_scene.tscn index 681fdff..239fbcd 100644 --- a/active_scene.tscn +++ b/active_scene.tscn @@ -28,10 +28,10 @@ position = Vector2(421, 161) navigation_polygon = SubResource("NavigationPolygon_eenn6") [node name="Receptionist" parent="Guildhall/Sprites" index="1"] -position = Vector2(512, 19) +position = Vector2(512, 82) [node name="Queue" parent="Guildhall/Sprites/Receptionist" index="3"] -position = Vector2(0, 172) +position = Vector2(-99, 189) [node name="CollisionShape2D" parent="Guildhall/Sprites/CharacterBody2D" index="0"] shape = SubResource("CapsuleShape2D_d0hfk") @@ -70,11 +70,6 @@ layout_mode = 2 layout_mode = 2 [node name="Control" parent="UI" instance=ExtResource("6_46fpu")] -offset_left = 26.0 -offset_top = 119.0 -offset_right = 26.0 -offset_bottom = 119.0 -scale = Vector2(2, 2) [connection signal="timeout" from="Guildhall/VisitorSpawner/Timer" to="Guildhall/VisitorSpawner" method="_on_timer_timeout"] diff --git a/data/jobs/job_data.gd b/data/jobs/job_data.gd index 3a7e53e..7581969 100644 --- a/data/jobs/job_data.gd +++ b/data/jobs/job_data.gd @@ -8,3 +8,4 @@ enum Type { } @export var name : String @export var type : Type +var test diff --git a/game_manager.gd b/game_manager.gd index ee5412a..98b45ac 100644 --- a/game_manager.gd +++ b/game_manager.gd @@ -3,6 +3,7 @@ extends Node var player : Player = null var panel : GamePanel = null var quest_log : QuestLog = null +var top_menu : TopMenu = null var active : bool = true var end_shift_confirmation : ConfirmationDialog var end_shift_confirm_template = preload("res://end_shift_confirmation.tscn") diff --git a/generate_quest_dialog.gd b/generate_quest_dialog.gd new file mode 100644 index 0000000..daa0b23 --- /dev/null +++ b/generate_quest_dialog.gd @@ -0,0 +1,45 @@ +extends Control + + +var quest : Quest + + +func generate_quest() -> void: + quest = Quest.new() + quest.name = "A Test Quest" + quest.location = "Nestor Woods" + quest.difficulty = 1 + quest.rewards = {"exp":100,"gold":1} + + +func update_quest_window() -> void: + if quest: + %NameField.text = quest.name + match(quest.difficulty): + 1: %DifficultyField.text = "Trivial" + %LocationField.text = quest.location + #for reward in quest.rewards.: + +func reset() -> void: + quest = null + %DifficultyOptions.select(0) + %LocationOptions.select(0) + #TODO: Clear bonus rewards + +func _on_generate_button_pressed() -> void: + generate_quest() + update_quest_window() + %GenerateQuest.hide() + %PostQuest.show() + +func _on_post_button_pressed() -> void: + Guild.add_quest(quest) + hide() + +func _on_post_back_button_pressed() -> void: + %GenerateQuest.show() + %PostQuest.hide() + +func _on_generate_back_button_pressed() -> void: + hide() + reset() diff --git a/generate_quest_dialog.gd.uid b/generate_quest_dialog.gd.uid new file mode 100644 index 0000000..7837301 --- /dev/null +++ b/generate_quest_dialog.gd.uid @@ -0,0 +1 @@ +uid://ep03avmd4jbc diff --git a/guild.gd b/guild.gd index 744c4cc..12b0dc7 100644 --- a/guild.gd +++ b/guild.gd @@ -49,6 +49,7 @@ func _ready() -> void: func register_guild_member(member : AdventurerData, first : bool = false) -> void: members.append(member) + Game.top_menu.add_member(member) if first: Game.notice("%s has joined the guild!" % member.name, 5) @@ -59,6 +60,7 @@ func has_guild_member(member : AdventurerData) -> bool: func add_quest(quest : Quest) -> void: quests[quest] = false + Game.top_menu.add_quest(quest) #Game.quest_log.add_entry(quest) func assign_quest(member : AdventurerData, quest : Quest) -> void: diff --git a/member_panel_entry.gd b/member_panel_entry.gd new file mode 100644 index 0000000..f721c24 --- /dev/null +++ b/member_panel_entry.gd @@ -0,0 +1,32 @@ +extends PanelContainer + + +var _enabled: bool +var enabled: bool: + get: + return _enabled + set(value): + enable(value) + +var data : AdventurerData + + +func enable(en: bool) -> void: + _enabled = en + if en: + mouse_filter=Control.MOUSE_FILTER_STOP + else: + mouse_filter=Control.MOUSE_FILTER_IGNORE + +func setup(adv : AdventurerData) -> void: + data = adv + %NameLabel.text = data.given_name + " " + data.surname + %LevelLabel.text = str(data.level) + if data.job: + %JobLabel.text = data.job.name + #TODO: Change portrait + +func _on_gui_input(event: InputEvent) -> void: + var evt = event as InputEventMouseButton + if evt and evt.button_index == MOUSE_BUTTON_LEFT and evt.pressed: + print("Member clicked!") diff --git a/member_panel_entry.gd.uid b/member_panel_entry.gd.uid new file mode 100644 index 0000000..2234c72 --- /dev/null +++ b/member_panel_entry.gd.uid @@ -0,0 +1 @@ +uid://b5v1r3u5gbpfw diff --git a/member_panel_entry.tscn b/member_panel_entry.tscn new file mode 100644 index 0000000..4ec7a3c --- /dev/null +++ b/member_panel_entry.tscn @@ -0,0 +1,40 @@ +[gd_scene load_steps=3 format=3 uid="uid://dp5d3hchmck2k"] + +[ext_resource type="Texture2D" uid="uid://biir7hjo6b4nl" path="res://adventurer-profile-pic.png" id="1_fbpt3"] +[ext_resource type="Script" uid="uid://b5v1r3u5gbpfw" path="res://member_panel_entry.gd" id="1_vig4g"] + +[node name="MemberPanelEntry" type="PanelContainer"] +script = ExtResource("1_vig4g") + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +layout_mode = 2 + +[node name="TextureRect" type="TextureRect" parent="HBoxContainer"] +layout_mode = 2 +texture = ExtResource("1_fbpt3") + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"] +layout_mode = 2 +theme_override_constants/separation = 0 + +[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/VBoxContainer"] +layout_mode = 2 + +[node name="NameLabel" type="Label" parent="HBoxContainer/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(190, 0) +layout_mode = 2 +text = "Test test" + +[node name="LevelLabel" type="Label" parent="HBoxContainer/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "Lv99" +horizontal_alignment = 2 + +[node name="JobLabel" type="Label" parent="HBoxContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "Adventurer" + +[connection signal="gui_input" from="." to="." method="_on_gui_input"] diff --git a/quest.gd b/quest.gd index 759c187..4fea093 100644 --- a/quest.gd +++ b/quest.gd @@ -6,7 +6,9 @@ class_name Quest extends Object var name : String = "A Basic Quest" var desc : String = "The default quest, with no special anything." var difficulty : int = 1 +var location : String var steps : int = 1 +var rewards : Dictionary var step_outcomes : Array = [ {"pass":"I succeeded!", "fail":"I failed!"} ] diff --git a/quest_panel_entry.gd b/quest_panel_entry.gd new file mode 100644 index 0000000..62c8ae3 --- /dev/null +++ b/quest_panel_entry.gd @@ -0,0 +1,32 @@ +extends PanelContainer + + +var _enabled: bool +var enabled: bool: + get: + return _enabled + set(value): + enable(value) + +var quest : Quest + + +func enable(en: bool) -> void: + _enabled = en + if en: + mouse_filter=Control.MOUSE_FILTER_STOP + else: + mouse_filter=Control.MOUSE_FILTER_IGNORE + +func setup(qst : Quest) -> void: + quest = qst + %NameLabel.text = quest.name + #TODO: Add star rating + #%LevelLabel.text = str(data.level) + %StatusLabel.text = ("Taken ()" % [quest.questor.full_name()]) if quest.taken else "OPEN" + #TODO: Change portrait + +func _on_gui_input(event: InputEvent) -> void: + var evt = event as InputEventMouseButton + if evt and evt.button_index == MOUSE_BUTTON_LEFT and evt.pressed: + print("Quest clicked!") diff --git a/quest_panel_entry.gd.uid b/quest_panel_entry.gd.uid new file mode 100644 index 0000000..e7bdde3 --- /dev/null +++ b/quest_panel_entry.gd.uid @@ -0,0 +1 @@ +uid://qv10wys8xel3 diff --git a/quest_panel_entry.tscn b/quest_panel_entry.tscn new file mode 100644 index 0000000..4cb21ea --- /dev/null +++ b/quest_panel_entry.tscn @@ -0,0 +1,34 @@ +[gd_scene load_steps=3 format=3 uid="uid://bkwwjnxj4iufi"] + +[ext_resource type="Script" uid="uid://qv10wys8xel3" path="res://quest_panel_entry.gd" id="1_v2yp5"] +[ext_resource type="Texture2D" uid="uid://biir7hjo6b4nl" path="res://adventurer-profile-pic.png" id="2_ksvjh"] + +[node name="QuestPanelEntry" type="PanelContainer"] +script = ExtResource("1_v2yp5") + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +layout_mode = 2 + +[node name="TextureRect" type="TextureRect" parent="HBoxContainer"] +layout_mode = 2 +texture = ExtResource("2_ksvjh") + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"] +layout_mode = 2 +theme_override_constants/separation = 0 + +[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/VBoxContainer"] +layout_mode = 2 + +[node name="NameLabel" type="Label" parent="HBoxContainer/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(190, 0) +layout_mode = 2 +text = "Test test" + +[node name="StatusLabel" type="Label" parent="HBoxContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "Adventurer" + +[connection signal="gui_input" from="." to="." method="_on_gui_input"] diff --git a/receptionist.png b/receptionist.png index 0f1bbca618919c3857c98f4205096dca30ba18f7..f5e0926af1f3db21f37ede1d5ce2fc52846207e6 100644 GIT binary patch literal 11038 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 Y0p(|$ExfiyJpcdz07*qoM6N<$f>%XE3;+NC literal 2311 zcmV+i3HbJjP)Px-!AV3xRCt`#oJ(v}RT#(rmsS>l7$gk~QGvFWU>ee9ilBvdAqz1+)98*gnoc*x zXuyO-6E`kcNPNJi(}=~m!4O0Vm;ei))e3E^W8c3-t)fa zPRl#(6~2>*3$!9y#r_;3Wf#6=^a2FH$RL6SGWZ=MT%zM*T#wMp}KIcg^eSrbo2AzAo| zwpt9o`8J?lnzZE1qb869#QTikO>UTuoPnAe#(Gl}#x7x9PDbdww@g{)%$3<#+0HHW zYH6r!`?7nkOmhd?d2gA}FcxapmZh=lI`xt&>D285!14NeWkHeAI$mqZ=jo-jy-7Uk z>j1hC_0y8iTd%9OlTpbaSrz)UT5fFaP7JcPx-RryG+Rc)R}{9Y_6nhFWV@+Hm5^yD z+J}v2O+d9Flfdh?X$tE+*CpA&rWqZ&aUSxfi9ylvMdLI&K5g679j{i)3w2bA@yYAg zMmnHIONp&9(R#W!@pyf`*7~Xwx?E7!5Z6x{rhVyzZ{l26#}ld>p{g@9I+%Evs6472 zwkktJu(tK0QhC+M@{;DH1*(eccDVLX|eOZH+dJRq5r))BkPDIqHDtQoP zMnE__Qq_<4$CGSAvR+ zwT=VVaPCI0)~=$cUkI3-KX}vDqzp3pnnZP&?M-KLIvL5rlm}K(nTdIp>esa9tUb$< z6HxMi2_$=s7skWgS=6-V0O)OytCSd2HQC4@*)k$nz>RkkJ*K&UWW|FesbE!)Y1W{% z@9-f^;Y1Qa4}HP^Tm@nL$U7C484P!4gS-FD=T8J>==I3acCN9* z-C2wrZ5P&yMnaN_&gw`4n7@nDJ@T=|YHECd8@eXOKe{~|3tQbI30;pWLzoN^Nt6QG zv_&#GC$-Luj@Q@6j4|=BO4B{LSo=w`BhwRaVFF^Gf^xFM_q$;)(P zDIYNJRZ)LP@o3)%;Agkhg*sQ|yCh27*?&3{5oJScf7xwyfjzp$YaJT`pvFP3Tl(fZ zXLt3Yio(diWZ*kDHliip8}!ZopX(bW*hI&MzV8=rTKlu%@p5x!dGPx1{!Ls%r^W|> zAMeW#nO-Op*6lcOEqK3v)!oqb&Yz2(_B;=;e0m8%4vgJLrm8Fk3lxDxumCW1_%ip1 zv7+M{et8Bm3JAa}N zPaSvwyoG=*^yvZc8mh~UA}rBCaCA*fQ%UFLJFyU!iC+Ndw6%+!T;qs{ml8w<{>~+J_@p`sXjntT)u`nyvWmBSw%Y&p-FP;H1Ba%wiJ{w_x zJojZMBhT|Z{#IG=xMN2pBnv#8iHN}{m}1mOy3>=}853cm0AF-RK`K+#(}g3r&N zx)cJt_0iwP?a%afVO3+Bbh}f!yoknSO=}LTSDe%~L}omDO$E7n#Yy40=}d1I9dvOM z8m)wZ^(MOs9fket-&cig@E~-+OjNiD#yj-@Wg!KzUzK_N#VTdTEO>YQ58N`X`Im#& zI$$SGj|q<`WuPjLdWCc^^cggd>sZ70j;PBdkqi>h3*FRzCd*WUahmQQ;VqDiZ+;SQ z`8wm&rB0k414{fm3=fH1&&Tv<#Fpp*FL-nD;wQ=qY2bvf($O-=i-cJm&r-MmLwXku~z6O;UJUbA%zH_XWolmaDQN6DMf z*QJp29fn)K9$JvPDmnG2%uBp$rsb2!={mY$oqRXHFgAmuO2hJr void: + Game.top_menu = self + +func _on_members_button_pressed() -> void: + members.visible = !members.visible + for child in members_list.get_children(): + child.enabled = members.visible + +func _on_quests_button_pressed() -> void: + quests.visible = !quests.visible + for child in quest_list.get_children(): + child.enabled = quests.visible + +func add_member(data : AdventurerData) -> void: + var entry = member_panel_entry_template.instantiate() + entry.setup(data) + members_list.add_child(entry) + +func add_quest(quest : Quest) -> void: + var entry = quest_panel_entry_template.instantiate() + entry.setup(quest) + quest_list.add_child(entry) + + +func _on_quest_generate_button_pressed() -> void: + %GenerateQuestDialog.show() diff --git a/top_menu.gd.uid b/top_menu.gd.uid new file mode 100644 index 0000000..e8a2c5c --- /dev/null +++ b/top_menu.gd.uid @@ -0,0 +1 @@ +uid://wyv0gt0ww6fp diff --git a/top_menu.tscn b/top_menu.tscn index 8df1e88..7ac8057 100644 --- a/top_menu.tscn +++ b/top_menu.tscn @@ -1,11 +1,15 @@ -[gd_scene load_steps=9 format=3 uid="uid://c7jagw4y7w42l"] +[gd_scene load_steps=13 format=3 uid="uid://c7jagw4y7w42l"] [ext_resource type="Texture2D" uid="uid://c0e0iw8osv0qh" path="res://top-icon-members.png" id="1_krxmy"] +[ext_resource type="Script" uid="uid://wyv0gt0ww6fp" path="res://top_menu.gd" id="1_o3fau"] [ext_resource type="Texture2D" uid="uid://hc1lmivi4bjs" path="res://top-icon-members-hover.png" id="2_370kg"] [ext_resource type="Texture2D" uid="uid://c2iyta0nbba4v" path="res://top-icon-quests.png" id="3_o3fau"] [ext_resource type="Texture2D" uid="uid://d3s762qc45n68" path="res://top-icon-quests-hover.png" id="4_ehkcg"] [ext_resource type="Texture2D" uid="uid://dpakd262awyrv" path="res://top-icon-policies.png" id="5_3nqsh"] [ext_resource type="Texture2D" uid="uid://is4b1a0jroee" path="res://top-icon-policies-hover.png" id="6_8h6j7"] +[ext_resource type="Theme" uid="uid://dj45k1nfllyvv" path="res://styles/primary_theme.tres" id="8_ehkcg"] +[ext_resource type="Script" uid="uid://ep03avmd4jbc" path="res://generate_quest_dialog.gd" id="9_ehkcg"] +[ext_resource type="Texture2D" uid="uid://bldpiytpdrge6" path="res://icon.svg" id="10_3nqsh"] [sub_resource type="Gradient" id="Gradient_7d00h"] @@ -13,44 +17,381 @@ gradient = SubResource("Gradient_7d00h") width = 1 -[node name="Control" type="Control"] +[node name="TopMenu" type="Control"] layout_mode = 3 -anchors_preset = 0 -offset_left = 14.0 -offset_top = 58.0 -offset_right = 14.0 -offset_bottom = 58.0 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_o3fau") -[node name="TextureRect" type="TextureRect" parent="."] +[node name="Menu" type="Control" parent="."] +anchors_preset = 0 +offset_left = 4.0 +offset_top = 69.0 +offset_right = 44.0 +offset_bottom = 109.0 +scale = Vector2(2, 2) + +[node name="TextureRect" type="TextureRect" parent="Menu"] layout_mode = 0 -offset_top = -20.0 offset_right = 150.0 -offset_bottom = -1.0 +offset_bottom = 19.0 texture = SubResource("GradientTexture1D_len8m") -[node name="MembersButton" type="TextureButton" parent="."] +[node name="MembersButton" type="TextureButton" parent="Menu"] layout_mode = 0 -offset_left = 10.0 -offset_top = -48.0 -offset_right = 58.0 +offset_left = 1.5 +offset_top = -31.5 +offset_right = 49.5 +offset_bottom = 16.5 texture_normal = ExtResource("1_krxmy") texture_pressed = ExtResource("2_370kg") texture_hover = ExtResource("2_370kg") -[node name="QuestsButton" type="TextureButton" parent="."] +[node name="QuestsButton" type="TextureButton" parent="Menu"] layout_mode = 0 -offset_left = 57.0 -offset_top = -48.0 -offset_right = 105.0 +offset_left = 46.5 +offset_top = -32.5 +offset_right = 94.5 +offset_bottom = 15.5 texture_normal = ExtResource("3_o3fau") texture_pressed = ExtResource("4_ehkcg") texture_hover = ExtResource("4_ehkcg") -[node name="PoliciesButton" type="TextureButton" parent="."] +[node name="PoliciesButton" type="TextureButton" parent="Menu"] layout_mode = 0 -offset_left = 102.0 -offset_top = -48.0 -offset_right = 150.0 +offset_left = 98.5 +offset_top = -32.0 +offset_right = 146.5 +offset_bottom = 16.0 texture_normal = ExtResource("5_3nqsh") texture_pressed = ExtResource("6_8h6j7") texture_hover = ExtResource("6_8h6j7") + +[node name="Members" type="Control" parent="."] +unique_name_in_owner = true +visible = false +anchors_preset = 0 +offset_top = 53.0 +offset_right = 40.0 +offset_bottom = 93.0 + +[node name="Panel" type="PanelContainer" parent="Members"] +layout_mode = 0 +offset_top = 7.0 +offset_right = 334.0 +offset_bottom = 530.0 + +[node name="ScrollContainer" type="ScrollContainer" parent="Members/Panel"] +layout_mode = 2 +theme = ExtResource("8_ehkcg") +vertical_scroll_mode = 2 + +[node name="MembersList" type="VBoxContainer" parent="Members/Panel/ScrollContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(300, 0) +layout_mode = 2 + +[node name="Quests" type="Control" parent="."] +unique_name_in_owner = true +visible = false +anchors_preset = 0 +offset_left = 4.0 +offset_top = 109.0 +offset_right = 44.0 +offset_bottom = 149.0 + +[node name="Panel" type="PanelContainer" parent="Quests"] +layout_mode = 0 +offset_top = 7.0 +offset_right = 334.0 +offset_bottom = 530.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="Quests/Panel"] +layout_mode = 2 + +[node name="ScrollContainer" type="ScrollContainer" parent="Quests/Panel/VBoxContainer"] +custom_minimum_size = Vector2(0, 475) +layout_mode = 2 +theme = ExtResource("8_ehkcg") +vertical_scroll_mode = 2 + +[node name="QuestList" type="VBoxContainer" parent="Quests/Panel/VBoxContainer/ScrollContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(300, 0) +layout_mode = 2 + +[node name="Button" type="Button" parent="Quests/Panel/VBoxContainer"] +custom_minimum_size = Vector2(0, 50) +layout_mode = 2 +text = "Generate Quest" + +[node name="GenerateQuestDialog" type="Control" parent="."] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 4.0 +offset_top = -9.0 +offset_right = 4.0 +offset_bottom = -9.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("9_ehkcg") + +[node name="ColorRect" type="ColorRect" parent="GenerateQuestDialog"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -4.0 +offset_top = 9.0 +offset_right = -4.0 +offset_bottom = 9.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0, 0, 0, 0.42745098) + +[node name="Window" type="PanelContainer" parent="GenerateQuestDialog"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -250.0 +offset_top = -300.0 +offset_right = 250.0 +offset_bottom = 300.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="GenerateQuest" type="VBoxContainer" parent="GenerateQuestDialog/Window"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="HBoxContainer2" type="HBoxContainer" parent="GenerateQuestDialog/Window/GenerateQuest"] +layout_mode = 2 + +[node name="TextureRect" type="TextureRect" parent="GenerateQuestDialog/Window/GenerateQuest/HBoxContainer2"] +layout_mode = 2 +texture = ExtResource("10_3nqsh") + +[node name="VBoxContainer" type="VBoxContainer" parent="GenerateQuestDialog/Window/GenerateQuest/HBoxContainer2"] +layout_mode = 2 + +[node name="Label" type="Label" parent="GenerateQuestDialog/Window/GenerateQuest/HBoxContainer2/VBoxContainer"] +layout_mode = 2 +text = "Quest Name" + +[node name="NameField" type="TextEdit" parent="GenerateQuestDialog/Window/GenerateQuest/HBoxContainer2/VBoxContainer"] +custom_minimum_size = Vector2(365, 35) +layout_mode = 2 +size_flags_vertical = 3 +text = "A Simple Task" +editable = false +context_menu_enabled = false +emoji_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +virtual_keyboard_show_on_focus = false +middle_mouse_paste_enabled = false +empty_selection_clipboard_enabled = false +tab_input_mode = false +use_default_word_separators = false + +[node name="Label2" type="Label" parent="GenerateQuestDialog/Window/GenerateQuest/HBoxContainer2/VBoxContainer"] +layout_mode = 2 +text = "Difficulty" + +[node name="DifficultyOptions" type="OptionButton" parent="GenerateQuestDialog/Window/GenerateQuest/HBoxContainer2/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(365, 35) +layout_mode = 2 +size_flags_vertical = 3 + +[node name="Label3" type="Label" parent="GenerateQuestDialog/Window/GenerateQuest"] +layout_mode = 2 +text = "Location" + +[node name="LocationOptions" type="OptionButton" parent="GenerateQuestDialog/Window/GenerateQuest"] +unique_name_in_owner = true +custom_minimum_size = Vector2(480, 35) +layout_mode = 2 +size_flags_vertical = 3 + +[node name="Label4" type="Label" parent="GenerateQuestDialog/Window/GenerateQuest"] +layout_mode = 2 +text = "Bonus Reward" + +[node name="RewardField" type="TextEdit" parent="GenerateQuestDialog/Window/GenerateQuest"] +custom_minimum_size = Vector2(480, 300) +layout_mode = 2 +size_flags_vertical = 3 +text = "(To be determined)" +editable = false +context_menu_enabled = false +emoji_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +virtual_keyboard_show_on_focus = false +middle_mouse_paste_enabled = false +empty_selection_clipboard_enabled = false +tab_input_mode = false +use_default_word_separators = false + +[node name="HBoxContainer" type="HBoxContainer" parent="GenerateQuestDialog/Window/GenerateQuest"] +layout_mode = 2 + +[node name="GenerateButton" type="Button" parent="GenerateQuestDialog/Window/GenerateQuest/HBoxContainer"] +custom_minimum_size = Vector2(248, 60) +layout_mode = 2 +text = "GENERATE" + +[node name="GenerateBackButton" type="Button" parent="GenerateQuestDialog/Window/GenerateQuest/HBoxContainer"] +custom_minimum_size = Vector2(248, 60) +layout_mode = 2 +text = "BACK" + +[node name="PostQuest" type="VBoxContainer" parent="GenerateQuestDialog/Window"] +unique_name_in_owner = true +visible = false +layout_mode = 2 + +[node name="HBoxContainer2" type="HBoxContainer" parent="GenerateQuestDialog/Window/PostQuest"] +layout_mode = 2 + +[node name="TextureRect" type="TextureRect" parent="GenerateQuestDialog/Window/PostQuest/HBoxContainer2"] +layout_mode = 2 +texture = ExtResource("10_3nqsh") + +[node name="VBoxContainer" type="VBoxContainer" parent="GenerateQuestDialog/Window/PostQuest/HBoxContainer2"] +layout_mode = 2 + +[node name="Label" type="Label" parent="GenerateQuestDialog/Window/PostQuest/HBoxContainer2/VBoxContainer"] +layout_mode = 2 +text = "Quest Name" + +[node name="NameField" type="TextEdit" parent="GenerateQuestDialog/Window/PostQuest/HBoxContainer2/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(365, 35) +layout_mode = 2 +size_flags_vertical = 3 +text = "A Simple Task" +editable = false +context_menu_enabled = false +emoji_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +virtual_keyboard_show_on_focus = false +middle_mouse_paste_enabled = false +empty_selection_clipboard_enabled = false +tab_input_mode = false +use_default_word_separators = false + +[node name="Label2" type="Label" parent="GenerateQuestDialog/Window/PostQuest/HBoxContainer2/VBoxContainer"] +layout_mode = 2 +text = "Difficulty" + +[node name="DifficultyField" type="TextEdit" parent="GenerateQuestDialog/Window/PostQuest/HBoxContainer2/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(365, 35) +layout_mode = 2 +size_flags_vertical = 3 +text = "Trivial" +editable = false +context_menu_enabled = false +emoji_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +virtual_keyboard_show_on_focus = false +middle_mouse_paste_enabled = false +empty_selection_clipboard_enabled = false +tab_input_mode = false +use_default_word_separators = false + +[node name="Label3" type="Label" parent="GenerateQuestDialog/Window/PostQuest"] +layout_mode = 2 +text = "Location" + +[node name="LocationField" type="TextEdit" parent="GenerateQuestDialog/Window/PostQuest"] +unique_name_in_owner = true +custom_minimum_size = Vector2(480, 35) +layout_mode = 2 +size_flags_vertical = 3 +text = "Nestor Woods" +editable = false +context_menu_enabled = false +emoji_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +virtual_keyboard_show_on_focus = false +middle_mouse_paste_enabled = false +empty_selection_clipboard_enabled = false +tab_input_mode = false +use_default_word_separators = false + +[node name="Label4" type="Label" parent="GenerateQuestDialog/Window/PostQuest"] +layout_mode = 2 +text = "Reward" + +[node name="RewardField" type="TextEdit" parent="GenerateQuestDialog/Window/PostQuest"] +unique_name_in_owner = true +custom_minimum_size = Vector2(480, 300) +layout_mode = 2 +size_flags_vertical = 3 +text = "Reward" +editable = false +context_menu_enabled = false +emoji_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +virtual_keyboard_show_on_focus = false +middle_mouse_paste_enabled = false +empty_selection_clipboard_enabled = false +tab_input_mode = false +use_default_word_separators = false + +[node name="HBoxContainer" type="HBoxContainer" parent="GenerateQuestDialog/Window/PostQuest"] +layout_mode = 2 + +[node name="PostQuestButton" type="Button" parent="GenerateQuestDialog/Window/PostQuest/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(248, 60) +layout_mode = 2 +text = "POST" + +[node name="ApprovalBackButton" type="Button" parent="GenerateQuestDialog/Window/PostQuest/HBoxContainer"] +custom_minimum_size = Vector2(248, 60) +layout_mode = 2 +text = "BACK" + +[connection signal="pressed" from="Menu/MembersButton" to="." method="_on_members_button_pressed"] +[connection signal="pressed" from="Menu/QuestsButton" to="." method="_on_quests_button_pressed"] +[connection signal="pressed" from="Quests/Panel/VBoxContainer/Button" to="." method="_on_quest_generate_button_pressed"] +[connection signal="pressed" from="GenerateQuestDialog/Window/GenerateQuest/HBoxContainer/GenerateButton" to="GenerateQuestDialog" method="_on_generate_button_pressed"] +[connection signal="pressed" from="GenerateQuestDialog/Window/GenerateQuest/HBoxContainer/GenerateBackButton" to="GenerateQuestDialog" method="_on_generate_back_button_pressed"] +[connection signal="pressed" from="GenerateQuestDialog/Window/PostQuest/HBoxContainer/PostQuestButton" to="GenerateQuestDialog" method="_on_post_button_pressed"] +[connection signal="pressed" from="GenerateQuestDialog/Window/PostQuest/HBoxContainer/ApprovalBackButton" to="GenerateQuestDialog" method="_on_post_back_button_pressed"]