Preliminary work on quest generation done

This commit is contained in:
2025-08-04 21:12:30 -04:00
parent a7b41f0a06
commit 2c99ece532
19 changed files with 609 additions and 34 deletions

View File

@@ -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"]

View File

@@ -8,3 +8,4 @@ enum Type {
}
@export var name : String
@export var type : Type
var test

View File

@@ -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")

45
generate_quest_dialog.gd Normal file
View File

@@ -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()

View File

@@ -0,0 +1 @@
uid://ep03avmd4jbc

View File

@@ -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:

32
member_panel_entry.gd Normal file
View File

@@ -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!")

View File

@@ -0,0 +1 @@
uid://b5v1r3u5gbpfw

40
member_panel_entry.tscn Normal file
View File

@@ -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"]

View File

@@ -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!"}
]

32
quest_panel_entry.gd Normal file
View File

@@ -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!")

1
quest_panel_entry.gd.uid Normal file
View File

@@ -0,0 +1 @@
uid://qv10wys8xel3

34
quest_panel_entry.tscn Normal file
View File

@@ -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"]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -13,16 +13,14 @@ height = 54.0
[sub_resource type="BlackboardPlan" id="BlackboardPlan_xsrct"]
[node name="Receptionist" type="CharacterBody2D"]
position = Vector2(0, -64)
script = ExtResource("1_vwytd")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 63.999992)
rotation = 1.5707964
shape = SubResource("CapsuleShape2D_dlmqr")
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(0, 15)
position = Vector2(0, -56)
texture = ExtResource("2_dlmqr")
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."]
@@ -30,12 +28,12 @@ path_desired_distance = 30.0
avoidance_enabled = true
[node name="Queue" type="Node2D" parent="."]
position = Vector2(0, 141)
position = Vector2(0, 70)
script = ExtResource("3_wurf5")
direction = Vector2(0, 1)
[node name="SpeechBubble" parent="." instance=ExtResource("4_dlmqr")]
position = Vector2(44, -38)
position = Vector2(44, -93)
[node name="BTPlayer" type="BTPlayer" parent="."]
behavior_tree = ExtResource("7_qmbsn")

13
styles/primary_theme.tres Normal file
View File

@@ -0,0 +1,13 @@
[gd_resource type="Theme" load_steps=3 format=3 uid="uid://dj45k1nfllyvv"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jefkq"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_vtk5i"]
content_margin_right = 30.0
bg_color = Color(0.4435923, 0.34591806, 3.85046e-07, 1)
border_color = Color(0.6875509, 9.722412e-05, 0.5842363, 1)
corner_detail = 1
[resource]
ScrollContainer/styles/focus = SubResource("StyleBoxFlat_jefkq")
VScrollBar/styles/scroll = SubResource("StyleBoxFlat_vtk5i")

35
top_menu.gd Normal file
View File

@@ -0,0 +1,35 @@
class_name TopMenu extends Control
const member_panel_entry_template = preload("res://member_panel_entry.tscn")
const quest_panel_entry_template = preload("res://quest_panel_entry.tscn")
@onready var members_list = %MembersList
@onready var members = %Members
@onready var quest_list = %QuestList
@onready var quests = %Quests
func _ready() -> 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()

1
top_menu.gd.uid Normal file
View File

@@ -0,0 +1 @@
uid://wyv0gt0ww6fp

View File

@@ -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"]