It's Cow Game! Version 2.04!

This commit is contained in:
PajamaBee 2024-09-19 23:06:51 -05:00
commit a9e1ed9ddd
3148 changed files with 95332 additions and 0 deletions

BIN
UI/MenuBar/Icons/heart.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://t4ebficyagwh"
path="res://.godot/imported/heart.png-8d8062fec2324ffe55b63670793bdffb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/MenuBar/Icons/heart.png"
dest_files=["res://.godot/imported/heart.png-8d8062fec2324ffe55b63670793bdffb.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://blt2vovlmqkqa"
path="res://.godot/imported/inventoryIcon.png-2f6b428fea9b4af6ef5cbf35f19daae1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/MenuBar/Icons/inventoryIcon.png"
dest_files=["res://.godot/imported/inventoryIcon.png-2f6b428fea9b4af6ef5cbf35f19daae1.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://30e8agbu6s36"
path="res://.godot/imported/minimizeIcon.png-86bbdb16a02a65217cb34aa4a3e7b5f7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/MenuBar/Icons/minimizeIcon.png"
dest_files=["res://.godot/imported/minimizeIcon.png-86bbdb16a02a65217cb34aa4a3e7b5f7.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cian6frtsfm7p"
path="res://.godot/imported/musicIcon.png-beface9aaec3d416239991dab5b97425.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/MenuBar/Icons/musicIcon.png"
dest_files=["res://.godot/imported/musicIcon.png-beface9aaec3d416239991dab5b97425.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c1qqqp60pmin4"
path="res://.godot/imported/musicIconGrey.png-740fe4baa6db1cd7f08ae032e0302f48.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/MenuBar/Icons/musicIconGrey.png"
dest_files=["res://.godot/imported/musicIconGrey.png-740fe4baa6db1cd7f08ae032e0302f48.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dw08nq7ktm1s4"
path="res://.godot/imported/outfitIcon.png-e2cd2db694124cf69e38722f82d998f7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/MenuBar/Icons/outfitIcon.png"
dest_files=["res://.godot/imported/outfitIcon.png-e2cd2db694124cf69e38722f82d998f7.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://e13ga487e578"
path="res://.godot/imported/outfitIconGrey.png-41fe78f0d74da131fed2b8e271cf8bbc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/MenuBar/Icons/outfitIconGrey.png"
dest_files=["res://.godot/imported/outfitIconGrey.png-41fe78f0d74da131fed2b8e271cf8bbc.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://68goo85pfcw7"
path="res://.godot/imported/questIcon.png-628fbb744c441dbe5a653ba8394e1fc3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/MenuBar/Icons/questIcon.png"
dest_files=["res://.godot/imported/questIcon.png-628fbb744c441dbe5a653ba8394e1fc3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b85j0dy3qpfgx"
path="res://.godot/imported/settingsIcon.png-2cb491f484daba718b23a0437f2153d7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/MenuBar/Icons/settingsIcon.png"
dest_files=["res://.godot/imported/settingsIcon.png-2cb491f484daba718b23a0437f2153d7.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dh5lul83sgryb"
path="res://.godot/imported/skillsIcon.png-dbb4959f0bebd34c60f7eae99305bc9c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/MenuBar/Icons/skillsIcon.png"
dest_files=["res://.godot/imported/skillsIcon.png-dbb4959f0bebd34c60f7eae99305bc9c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View file

@ -0,0 +1,137 @@
extends PanelContainer
var groundItemScene = preload("res://Objects/GroundItems/GroundItem.tscn")
var inventoryDisplayer
var keyInventoryDisplayer
var currentInv = "normal"
var clickMenu
var itemSelected
var shortcuts = [KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9]
func _ready():
inventoryDisplayer = %InventoryItems
keyInventoryDisplayer = %KeyInventoryItems
clickMenu = %ClickMenu
inventoryDisplayer.displayScene = load("res://UI/MenuBar/Inventory/ItemInventoryDisplay.tscn")
keyInventoryDisplayer.displayScene = load("res://UI/MenuBar/Inventory/ItemInventoryDisplay.tscn")
update_inventory()
inventoryDisplayer.itemClicked.connect(item_clicked)
keyInventoryDisplayer.itemClicked.connect(item_clicked)
InventoryManager.playerInventoryUpdated.connect(update_inventory)
func _process(delta):
if clickMenu.visible:
for i in range(clickMenu.item_count):
var currentID = clickMenu.get_item_id(i)
if currentID < shortcuts.size() and Input.is_action_just_pressed(str(i+1)):
_on_click_menu_id_pressed(currentID)
break
func update_inventory():
var inventory = InventoryManager.get_inventory()
inventoryDisplayer.inventory = inventory
inventoryDisplayer.update_display()
var keyInventory = InventoryManager.get_inventory("keyItems")
keyInventoryDisplayer.inventory = keyInventory
keyInventoryDisplayer.update_display()
func item_clicked(item):
clear_click_menu()
itemSelected = item
clickMenu.size.x = 0
clickMenu.size.y = 0
clickMenu.add_item("Behold", 0)
if currentInv != "keyItems":
clickMenu.add_item("Drop", 1)
if Item.types.Juice in item.itemTypes:
clickMenu.add_item("Drink", 2)
elif item.get_edibility() >= 50:
clickMenu.add_item("Eat", 3)
if Item.types.Toy in item.itemTypes:
clickMenu.add_item("Play", 4)
clickMenu.show()
var WindowSize = Vector2(880,620)
var MenuSize = clickMenu.size
var PopUpPos = get_viewport().get_mouse_position()
if MenuSize.x + PopUpPos.x > WindowSize.x: PopUpPos.x -= MenuSize.x
if MenuSize.y + PopUpPos.y > WindowSize.y: PopUpPos.y -= MenuSize.y
clickMenu.position = PopUpPos
func clear_click_menu():
clickMenu.clear()
func _on_click_menu_id_pressed(id):
if !InventoryManager.check_if_in_inventory(itemSelected, 1, currentInv):
return
if id == 0:
behold_item(itemSelected)
examine_item(itemSelected)
elif id == 1:
drop_item(itemSelected)
elif id == 2:
drink_item(itemSelected)
elif id == 3:
eat_item(itemSelected)
elif id == 4:
play_with_item(itemSelected)
func behold_item(item):
GameVariables.player.behold_item(item)
func drop_item(item):
var newGroundItem = groundItemScene.instantiate()
newGroundItem.set_item(item.duplicate())
newGroundItem.global_position = GameVariables.player.global_position
if GameVariables.player.swimmingZones.size() > 0:
newGroundItem.assume_water_start(GameVariables.player.swimmingZones[0])
if GameVariables.player.currentInteractingItem != null and GameVariables.player.currentInteractingItem.equals(item):
GameVariables.player.change_state("Idle")
InventoryManager.remove_item_from_inventory(item)
LocationManager.currentLocation.add_child(newGroundItem)
func examine_item(item):
MessageManager.addMessage(item.get_description(), null, "System", Color.MIDNIGHT_BLUE,
true, false)
func drink_item(item):
GameVariables.player.drink_juice(item)
func eat_item(item):
GameVariables.player.eat_item(item)
func play_with_item(item):
GameVariables.player.play_item(item)
if Item.types.Trumpet in item.itemTypes:
var trumpetMenu = preload("res://UI/Trumpet/TrumpetMenu.tscn").instantiate()
add_child(trumpetMenu)
trumpetMenu.popup_centered()
trumpetMenu.position.y -= 200
func _on_inventory_chooser_tab_changed(tab):
if tab == 0:
currentInv = "normal"
else:
currentInv = "keyItems"
tab += 1
var inventories = %InventoryHolder.get_children()
for i in inventories.size():
if i == tab or i == inventories.size() - 1 or i == 0:
inventories[i].visible = true
else:
inventories[i].visible = false

View file

@ -0,0 +1,76 @@
extends PanelContainer
signal itemClicked
signal buttonPressed
signal fiveButtonPressed
signal allButtonPressed
var itemSpriteDisplay:TextureRect
var itemNameDisplay:Label
var itemQuantityDisplay:Label
var quantityDisplayed = 0
func _ready():
itemSpriteDisplay = get_node("MarginContainer/ItemInventoryDisplay/ItemSprite")
itemNameDisplay = get_node("MarginContainer/ItemInventoryDisplay/HSplitContainer/ItemName")
itemQuantityDisplay = get_node("MarginContainer/ItemInventoryDisplay/HSplitContainer/Quantity")
func set_sprite(sprite):
itemSpriteDisplay.texture = sprite
func set_item_name(itemName):
itemNameDisplay.text = itemName
func set_quantity(quantity:int):
itemQuantityDisplay.text = "x" + str(quantity)
quantityDisplayed = quantity
func hide_quantity():
itemQuantityDisplay.visible = false
func show_positives():
var plusButton = $MarginContainer/ItemInventoryDisplay/HSplitContainer/Buttons/PlusButton
if plusButton != null:
plusButton.visible = true
func hide_positives():
var plusButton = $MarginContainer/ItemInventoryDisplay/HSplitContainer/Buttons/PlusButton
if plusButton != null:
plusButton.visible = false
func show_negatives():
var minusButton = $MarginContainer/ItemInventoryDisplay/HSplitContainer/Buttons/MinusButton
if minusButton != null:
minusButton.visible = true
func hide_negatives():
var minusButton = $MarginContainer/ItemInventoryDisplay/HSplitContainer/Buttons/MinusButton
if minusButton != null:
minusButton.visible = false
func show_five_button():
var fiveButton = get_node("MarginContainer/ItemInventoryDisplay/HSplitContainer/Buttons/5Button")
if fiveButton != null:
fiveButton.visible = true
func show_all_button():
var allButton = get_node("MarginContainer/ItemInventoryDisplay/HSplitContainer/Buttons/AllButton")
if allButton != null:
allButton.visible = true
func _on_plus_button_pressed():
buttonPressed.emit()
func _on_minus_button_pressed():
buttonPressed.emit()
func _on_gui_input(event):
if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT:
itemClicked.emit()
func _on_5_button_pressed():
fiveButtonPressed.emit()
func _on_all_button_pressed():
allButtonPressed.emit()

View file

@ -0,0 +1,47 @@
[gd_scene load_steps=4 format=3 uid="uid://c3bb0ljgv77r2"]
[ext_resource type="Script" path="res://UI/MenuBar/Inventory/ItemInventoryDisplay.gd" id="1_2pu85"]
[ext_resource type="Texture2D" uid="uid://ct5a5b2148uia" path="res://Items/Foods/Fruits/Sprites/Orange.png" id="2_sxoyk"]
[sub_resource type="Theme" id="Theme_tw8r0"]
[node name="ItemInventoryDisplay" type="PanelContainer"]
offset_right = 229.0
offset_bottom = 26.0
script = ExtResource("1_2pu85")
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 2
theme_override_constants/margin_left = 3
theme_override_constants/margin_top = 2
theme_override_constants/margin_right = 5
theme_override_constants/margin_bottom = 2
[node name="ItemInventoryDisplay" type="HSplitContainer" parent="MarginContainer"]
layout_mode = 2
[node name="ItemSprite" type="TextureRect" parent="MarginContainer/ItemInventoryDisplay"]
layout_mode = 2
theme = SubResource("Theme_tw8r0")
texture = ExtResource("2_sxoyk")
expand_mode = 2
[node name="HSplitContainer" type="HSplitContainer" parent="MarginContainer/ItemInventoryDisplay"]
layout_mode = 2
size_flags_vertical = 3
dragger_visibility = 2
[node name="ItemName" type="Label" parent="MarginContainer/ItemInventoryDisplay/HSplitContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Orange"
vertical_alignment = 1
text_overrun_behavior = 4
[node name="Quantity" type="Label" parent="MarginContainer/ItemInventoryDisplay/HSplitContainer"]
layout_mode = 2
text = "Qt. 10"
horizontal_alignment = 2
vertical_alignment = 1
[connection signal="gui_input" from="." to="." method="_on_gui_input"]

View file

@ -0,0 +1,10 @@
[gd_scene load_steps=3 format=3 uid="uid://tqulfnxq65nt"]
[ext_resource type="PackedScene" uid="uid://c3bb0ljgv77r2" path="res://UI/MenuBar/Inventory/ItemInventoryDisplay.tscn" id="1_r3jxp"]
[ext_resource type="Script" path="res://ItemInventoryDisplayClickable.gd" id="2_sxs8q"]
[node name="ItemInventoryDisplay" instance=ExtResource("1_r3jxp")]
script = ExtResource("2_sxs8q")
[node name="PopupMenu" type="PopupMenu" parent="." index="1"]
visible = true

33
UI/MenuBar/MenuBar.gd Normal file
View file

@ -0,0 +1,33 @@
extends Control
var menus
var currentTab = -1
func _ready():
menus = get_node("VSplitContainer/Menus").get_children()
%TabBar.current_tab = 4
func _on_tab_bar_tab_clicked(tab):
if tab == currentTab:
currentTab = -1
for i in menus.size():
menus[i].visible = false
%TabBar.current_tab = 4
else:
for i in menus.size():
if i == tab:
menus[i].visible = true
else:
menus[i].visible = false
currentTab = tab
func _on_credits_button_pressed():
%CreditsPopup.popup_centered()
func _on_esc_menu_button_pressed():
get_parent().get_node("EscapeMenu").visible = true
func _on_achievements_button_pressed():
get_parent().get_node("AchievementsMenu").visible = true
get_parent().get_node("AchievementsMenu").opened()

54
UI/MenuBar/OptionsMenu.gd Normal file
View file

@ -0,0 +1,54 @@
extends PanelContainer
var totalVolSlider:HSlider
var musicVolSlider:HSlider
var sfxVolSlider:HSlider
var limeOption:CheckBox
var messageOption:CheckBox
func _ready():
totalVolSlider = %TotalVolSlider
musicVolSlider = %MusicVolSlider
sfxVolSlider = %SFXVolSlider
limeOption = %limeCheck
messageOption = %messageCheck
initialize_volume_bars()
update_volumes(0)
totalVolSlider.value_changed.connect(update_volumes)
musicVolSlider.value_changed.connect(update_volumes)
sfxVolSlider.value_changed.connect(update_volumes)
limeOption.pressed.connect(limeToggled)
func initialize_volume_bars():
var savedTotalVol = SaveManager.get_global_value("totalVol", 100)
totalVolSlider.value = savedTotalVol
var savedMusicVol = SaveManager.get_global_value("musicVol", 100)
musicVolSlider.value = savedMusicVol
var savedSFXVol = SaveManager.get_global_value("sfxVol", 100)
sfxVolSlider.value = savedSFXVol
var savedlimeOption = SaveManager.get_save_value("LimeEnabled", true)
limeOption.button_pressed = savedlimeOption
func update_volumes(_newVolume):
save_volumes()
AudioServer.set_bus_volume_db(0, linear_to_db(totalVolSlider.value))
AudioServer.set_bus_volume_db(1, linear_to_db(musicVolSlider.value))
AudioServer.set_bus_volume_db(2, linear_to_db(sfxVolSlider.value))
func save_volumes():
SaveManager.set_global_value("totalVol", totalVolSlider.value)
SaveManager.set_global_value("musicVol", musicVolSlider.value)
SaveManager.set_global_value("sfxVol", sfxVolSlider.value)
func limeToggled():
SaveManager.set_save_value("LimeEnabled", limeOption.button_pressed)
if !limeOption.button_pressed and SaveManager.get_save_value("BeeslyLimeMode", false):
get_tree().call_group("Beesly", "LimeOff")
func _on_message_check_pressed():
SaveManager.set_save_value("ShowMessageOpt",messageOption.button_pressed)

View file

@ -0,0 +1,11 @@
extends PopupPanel
func set_quest(quest):
%QuestNameLabel.text = quest.questName
%QuestRewardsLabel.text = quest.get_completion_message()
func _on_popup_hide():
queue_free()
func _on_continue_button_pressed():
hide()

View file

@ -0,0 +1,84 @@
[gd_scene load_steps=5 format=3 uid="uid://dnh6ixm8m3uiq"]
[ext_resource type="Script" path="res://UI/MenuBar/Quests/QuestCompletedPopup.gd" id="1_iq8xr"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_6sn1x"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wnuu2"]
bg_color = Color(0.321569, 0.482353, 0.713726, 1)
border_width_left = 8
border_width_top = 8
border_width_right = 8
border_width_bottom = 8
border_color = Color(0.917647, 0.94902, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5n0qo"]
bg_color = Color(0.113725, 0.172549, 0.368627, 1)
border_color = Color(0.87451, 0.847059, 0, 1)
[node name="QuestCompletedPopup" type="PopupPanel"]
size = Vector2i(400, 393)
visible = true
max_size = Vector2i(32768, 400)
theme_override_styles/panel = SubResource("StyleBoxEmpty_6sn1x")
script = ExtResource("1_iq8xr")
[node name="PanelContainer" type="PanelContainer" parent="."]
offset_right = 400.0
offset_bottom = 393.0
theme_override_styles/panel = SubResource("StyleBoxFlat_wnuu2")
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/margin_left = 5
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 5
theme_override_constants/margin_bottom = 5
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer"]
layout_mode = 2
[node name="QuestCompletedLabel" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.972549, 0.85098, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 12
theme_override_font_sizes/font_size = 28
text = "QUEST COMPLETE!"
horizontal_alignment = 1
vertical_alignment = 2
[node name="QuestNameLabel" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0, 0.968627, 0.964706, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 10
theme_override_font_sizes/font_size = 28
text = "Beesley's Special Juice"
horizontal_alignment = 1
vertical_alignment = 2
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_5n0qo")
[node name="QuestRewardsLabel" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/PanelContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(100, 0)
layout_mode = 2
size_flags_vertical = 6
text = "Go Talk to the beesley bee to start the quest!"
horizontal_alignment = 1
autowrap_mode = 2
[node name="ContinueButton" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 4
text = "Continue"
[connection signal="popup_hide" from="." to="." method="_on_popup_hide"]
[connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/ContinueButton" to="." method="_on_continue_button_pressed"]

View file

@ -0,0 +1,46 @@
extends PanelContainer
var questStatusPopupScene = preload("res://UI/MenuBar/Quests/QuestStatusPopup.tscn")
var currentBaseColor
var questDisplayed
func _ready():
currentBaseColor = %QuestNameLabel.get("theme_override_colors/font_color")
func refresh_completion():
set_status(questDisplayed.is_completed())
func set_status(completed):
if completed:
%QuestNameLabel.set("theme_override_colors/font_color", Color.GREEN)
currentBaseColor = Color.GREEN
func set_quest_name(questName):
%QuestNameLabel.text = questName
func set_quest(quest):
questDisplayed = quest
set_quest_name(quest.questName)
set_status(quest.is_completed())
func _on_gui_input(event):
if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT:
show_quest_overview()
func show_quest_overview():
var questPopup = questStatusPopupScene.instantiate()
add_child(questPopup)
questPopup.set_quest(questDisplayed)
questPopup.popup_centered()
func _on_mouse_entered():
var hoverColor = currentBaseColor
hoverColor.r += 0.3
hoverColor.g += 0.3
hoverColor.b += 0.3
%QuestNameLabel.set("theme_override_colors/font_color", hoverColor)
func _on_mouse_exited():
%QuestNameLabel.set("theme_override_colors/font_color", currentBaseColor)

View file

@ -0,0 +1,36 @@
[gd_scene load_steps=3 format=3 uid="uid://dqlw131ldoewm"]
[ext_resource type="Script" path="res://UI/MenuBar/Quests/QuestDisplayer.gd" id="1_7f2o6"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_oaqtv"]
bg_color = Color(0.6, 0.6, 0.6, 0)
[node name="QuestDisplayer" type="PanelContainer"]
offset_right = 263.0
offset_bottom = 26.0
size_flags_horizontal = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_oaqtv")
script = ExtResource("1_7f2o6")
[node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 5
[node name="QuestNameLabel" type="Label" parent="HBoxContainer/MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_colors/font_color = Color(0.85098, 0, 0, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 4
theme_override_constants/shadow_outline_size = 4
theme_override_font_sizes/font_size = 19
text = "Beesley's Special Juice"
[connection signal="gui_input" from="." to="." method="_on_gui_input"]
[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]
[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"]

View file

@ -0,0 +1,13 @@
extends PopupPanel
func set_quest(quest):
%QuestNameLabel.text = quest.questName
%QuestScaleLabel.text = quest.get_scale_name()
%QuestProgressLabel.text = quest.get_progress_report()
%QuestRequirementsLabel.text = quest.get_requirements_report()
func _on_popup_hide():
queue_free()
func _on_continue_button_pressed():
hide()

View file

@ -0,0 +1,104 @@
[gd_scene load_steps=5 format=3 uid="uid://kq1k014lm2m0"]
[ext_resource type="Script" path="res://UI/MenuBar/Quests/QuestStatusPopup.gd" id="1_yr0v5"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_4e5mo"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1sp3r"]
bg_color = Color(0.321569, 0.482353, 0.713726, 1)
border_width_left = 8
border_width_top = 8
border_width_right = 8
border_width_bottom = 8
border_color = Color(0.917647, 0.94902, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4hdaa"]
bg_color = Color(0.113725, 0.172549, 0.368627, 1)
border_color = Color(0.87451, 0.847059, 0, 1)
[node name="QuestStatusPopup" type="PopupPanel"]
size = Vector2i(500, 500)
visible = true
extend_to_title = true
max_size = Vector2i(32768, 500)
theme_override_styles/panel = SubResource("StyleBoxEmpty_4e5mo")
script = ExtResource("1_yr0v5")
[node name="PanelContainer" type="PanelContainer" parent="."]
offset_right = 500.0
offset_bottom = 500.0
theme_override_styles/panel = SubResource("StyleBoxFlat_1sp3r")
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/margin_left = 9
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 9
theme_override_constants/margin_bottom = 5
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer"]
layout_mode = 2
[node name="QuestNameLabel" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.12549, 0.847059, 0.905882, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 14
theme_override_font_sizes/font_size = 32
text = "Beesley's Special Juice"
horizontal_alignment = 1
vertical_alignment = 2
[node name="QuestScaleLabel" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.741176, 0.988235, 0, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 0
theme_override_constants/shadow_outline_size = 8
theme_override_font_sizes/font_size = 20
text = "Moderate"
horizontal_alignment = 1
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_4hdaa")
[node name="QuestProgressLabel" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/PanelContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(100, 0)
layout_mode = 2
size_flags_vertical = 6
text = "Go Talk to the beesley bee to start the quest!
Go Talk to the beesley bee to start the quest!
Go Talk to the beesley bee to start the quest!
Go Talk to the beesley bee to start the quest!
Go Talk to the beesley bee to start the quest!
Go Talk to the beesley bee to start the quest!
Go Talk to the beesley bee to start the quest!
Go Talk to the beesley bee to start the quest!
Go Talk to the beesley bee to start the quest!
"
horizontal_alignment = 1
autowrap_mode = 3
[node name="QuestRequirementsLabel" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 0
text = "Requirements
None"
horizontal_alignment = 1
[node name="ContinueButton" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 4
text = "Continue"
[connection signal="popup_hide" from="." to="." method="_on_popup_hide"]
[connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/ContinueButton" to="." method="_on_continue_button_pressed"]

View file

@ -0,0 +1,20 @@
extends PanelContainer
var questDisplayerScene = preload("res://UI/MenuBar/Quests/QuestDisplayer.tscn")
func _ready():
var quests = QuestManager.get_all_quests()
for quest in quests:
spawn_quest_display(quest)
QuestManager.questCompleted.connect(update_quest_displays)
func spawn_quest_display(quest):
var newDisplayer = questDisplayerScene.instantiate()
newDisplayer.set_quest(quest)
%QuestDisplays.add_child(newDisplayer)
func update_quest_displays():
for questDisplay in %QuestDisplays.get_children():
questDisplay.refresh_completion()

View file

@ -0,0 +1,48 @@
extends HSplitContainer
class_name LevelDisplay
var currentSkill:Skill
var skillIconDisplay:TextureRect
var skillNameDisplay:Label
var skillLevelDisplay:Label
var skillXPBar:ProgressBar
func _ready():
skillIconDisplay = get_node("SkillIcon")
skillNameDisplay = get_node("VSplitContainer/HSplitContainer/SkillName")
skillLevelDisplay = get_node("VSplitContainer/HSplitContainer/SkillLevel")
skillXPBar = get_node("VSplitContainer/XPBar")
func _process(_delta):
if currentSkill != null:
update_xp_bar()
update_level()
update_skill_info(currentSkill)
func update_xp_bar():
skillXPBar.value = currentSkill.currentXP
skillXPBar.max_value = LevelManager.get_XP_to_next_level(currentSkill.currentLevel)
var currentXPString = XpDisplayUtils.xpFormater(currentSkill.currentXP, true)
if skillXPBar.max_value <= 9999999:
var maxXPString = XpDisplayUtils.xpFormater(skillXPBar.max_value, true)
skillXPBar.get_node("XPLabel").text = currentXPString + "/" + maxXPString + "XP"
else:
skillXPBar.get_node("XPLabel").text = currentXPString + "XP"
func update_level():
skillLevelDisplay.text = "Lv. " + str(currentSkill.currentLevel)
func update_skill_info(skill:Skill):
if !skill.hidden:
skillIconDisplay.texture = currentSkill.get_icon()
skillNameDisplay.text = currentSkill.skillName
else:
skillIconDisplay.texture = currentSkill.hiddenIcon
skillNameDisplay.text = "???"
func set_skill(skill:Skill):
currentSkill = skill
update_skill_info(currentSkill)

View file

@ -0,0 +1,68 @@
[gd_scene load_steps=5 format=3 uid="uid://baij4wsgpcd31"]
[ext_resource type="Script" path="res://UI/MenuBar/Skills/LevelDisplay.gd" id="1_7bb3j"]
[ext_resource type="Texture2D" uid="uid://ot8vppthxuwx" path="res://Skills/Arson/arsonIcon.png" id="1_v5m46"]
[sub_resource type="Theme" id="Theme_tw8r0"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1kgag"]
bg_color = Color(0.0980392, 0.580392, 0.305882, 1)
corner_radius_top_left = 6
corner_radius_bottom_left = 6
[node name="LevelDisplay" type="HSplitContainer"]
offset_right = 267.0
offset_bottom = 46.0
script = ExtResource("1_7bb3j")
[node name="SkillIcon" type="TextureRect" parent="."]
layout_mode = 2
theme = SubResource("Theme_tw8r0")
texture = ExtResource("1_v5m46")
expand_mode = 2
[node name="VSplitContainer" type="VSplitContainer" parent="."]
layout_mode = 2
dragger_visibility = 2
[node name="HSplitContainer" type="HSplitContainer" parent="VSplitContainer"]
layout_mode = 2
size_flags_vertical = 3
dragger_visibility = 2
[node name="SkillName" type="Label" parent="VSplitContainer/HSplitContainer"]
layout_mode = 2
size_flags_vertical = 8
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "Arson"
vertical_alignment = 2
[node name="SkillLevel" type="Label" parent="VSplitContainer/HSplitContainer"]
layout_mode = 2
size_flags_vertical = 8
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "Lv. 10"
horizontal_alignment = 2
vertical_alignment = 2
[node name="XPBar" type="ProgressBar" parent="VSplitContainer"]
custom_minimum_size = Vector2(0, 20)
layout_mode = 2
size_flags_vertical = 2
theme_override_styles/fill = SubResource("StyleBoxFlat_1kgag")
value = 30.0
show_percentage = false
[node name="XPLabel" type="Label" parent="VSplitContainer/XPBar"]
layout_mode = 1
anchors_preset = 14
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_top = -13.0
offset_bottom = 13.0
grow_horizontal = 2
grow_vertical = 2
text = "4.3/6XP"
horizontal_alignment = 1
vertical_alignment = 1

View file

@ -0,0 +1,14 @@
extends PanelContainer
var levelDisplayScene = preload("res://UI/MenuBar/Skills/LevelDisplay.tscn")
func _ready():
spawn_level_displays()
func spawn_level_displays():
var skills = LevelManager.get_all_skills()
for skill in skills:
var newLevelDisplay = levelDisplayScene.instantiate()
%LevelDisplayHolder.add_child(newLevelDisplay)
newLevelDisplay.set_skill(skill)

8
UI/MenuBar/menu_bar.tres Normal file
View file

@ -0,0 +1,8 @@
[gd_resource type="StyleBoxFlat" format=3 uid="uid://n20pvqghdnrm"]
[resource]
bg_color = Color(0.596078, 0.721569, 0.929412, 1)
border_width_left = 6
border_width_top = 6
border_width_right = 6
border_color = Color(0, 0, 0, 1)

344
UI/MenuBar/menu_bar.tscn Normal file
View file

@ -0,0 +1,344 @@
[gd_scene load_steps=19 format=3 uid="uid://cq8crk8ai8ggv"]
[ext_resource type="Script" path="res://UI/MenuBar/MenuBar.gd" id="1_0hriw"]
[ext_resource type="StyleBox" uid="uid://n20pvqghdnrm" path="res://UI/MenuBar/menu_bar.tres" id="1_2f8ur"]
[ext_resource type="PackedScene" uid="uid://b46o5ib4aqykn" path="res://UI/Credits/Credits.tscn" id="2_r1dt8"]
[ext_resource type="Script" path="res://UI/MenuBar/Skills/SkillsMenu.gd" id="3_2bkul"]
[ext_resource type="Texture2D" uid="uid://dh5lul83sgryb" path="res://UI/MenuBar/Icons/skillsIcon.png" id="4_gao24"]
[ext_resource type="Script" path="res://UI/MenuBar/Inventory/InventoryMenu.gd" id="5_63hd5"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="5_fv4ti"]
[ext_resource type="Texture2D" uid="uid://blt2vovlmqkqa" path="res://UI/MenuBar/Icons/inventoryIcon.png" id="6_amtyg"]
[ext_resource type="Script" path="res://UI/MenuBar/Quests/QuestsMenu.gd" id="7_3mkgs"]
[ext_resource type="Script" path="res://UI/MenuBar/OptionsMenu.gd" id="7_a03ci"]
[ext_resource type="Texture2D" uid="uid://b85j0dy3qpfgx" path="res://UI/MenuBar/Icons/settingsIcon.png" id="8_0a6sq"]
[ext_resource type="Texture2D" uid="uid://68goo85pfcw7" path="res://UI/MenuBar/Icons/questIcon.png" id="10_58o0j"]
[ext_resource type="Texture2D" uid="uid://30e8agbu6s36" path="res://UI/MenuBar/Icons/minimizeIcon.png" id="12_mxc81"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_63cks"]
content_margin_left = 10.0
content_margin_top = 9.0
content_margin_right = 10.0
content_margin_bottom = 9.0
bg_color = Color(0.592157, 0.2, 0.588235, 0.972549)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_0fcxr"]
content_margin_left = 10.0
content_margin_top = 9.0
content_margin_right = 10.0
content_margin_bottom = 9.0
bg_color = Color(0.780392, 0.137255, 0.337255, 1)
[sub_resource type="Theme" id="Theme_2mqxx"]
TabBar/styles/tab_selected = SubResource("StyleBoxFlat_63cks")
TabBar/styles/tab_unselected = SubResource("StyleBoxFlat_0fcxr")
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_bvuyr"]
content_margin_left = 10.0
content_margin_top = 9.0
content_margin_right = 10.0
content_margin_bottom = 9.0
bg_color = Color(0.682353, 0.254902, 0.678431, 0.972549)
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ldmfh"]
[node name="MenuBar" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 604.0
offset_top = 238.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_0hriw")
[node name="CreditsPopup" parent="." instance=ExtResource("2_r1dt8")]
unique_name_in_owner = true
visible = false
[node name="VSplitContainer" type="VSplitContainer" parent="."]
layout_mode = 1
anchors_preset = 12
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -62.0
grow_horizontal = 2
grow_vertical = 0
dragger_visibility = 2
[node name="Menus" type="PanelContainer" parent="VSplitContainer"]
layout_mode = 2
[node name="SkillsMenu" type="PanelContainer" parent="VSplitContainer/Menus"]
visible = false
custom_minimum_size = Vector2(0, 320)
layout_mode = 2
theme_override_styles/panel = ExtResource("1_2f8ur")
script = ExtResource("3_2bkul")
[node name="VSplitContainer" type="VSplitContainer" parent="VSplitContainer/Menus/SkillsMenu"]
layout_mode = 2
dragger_visibility = 2
[node name="SkillsTitle" type="Label" parent="VSplitContainer/Menus/SkillsMenu/VSplitContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 28
text = "Skills"
horizontal_alignment = 1
vertical_alignment = 2
[node name="ScrollContainer" type="ScrollContainer" parent="VSplitContainer/Menus/SkillsMenu/VSplitContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="MarginContainer" type="MarginContainer" parent="VSplitContainer/Menus/SkillsMenu/VSplitContainer/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_constants/margin_left = 5
theme_override_constants/margin_top = -3
theme_override_constants/margin_right = 10
theme_override_constants/margin_bottom = 3
[node name="LevelDisplayHolder" type="VBoxContainer" parent="VSplitContainer/Menus/SkillsMenu/VSplitContainer/ScrollContainer/MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
[node name="InventoryMenu" type="PanelContainer" parent="VSplitContainer/Menus"]
visible = false
custom_minimum_size = Vector2(0, 320)
layout_mode = 2
theme_override_styles/panel = ExtResource("1_2f8ur")
script = ExtResource("5_63hd5")
[node name="InventoryHolder" type="VBoxContainer" parent="VSplitContainer/Menus/InventoryMenu"]
unique_name_in_owner = true
layout_mode = 2
[node name="InventoryTitle" type="Label" parent="VSplitContainer/Menus/InventoryMenu/InventoryHolder"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 28
text = "Inventory"
horizontal_alignment = 1
vertical_alignment = 2
[node name="InventoryItems" parent="VSplitContainer/Menus/InventoryMenu/InventoryHolder" instance=ExtResource("5_fv4ti")]
unique_name_in_owner = true
layout_mode = 2
[node name="KeyInventoryItems" parent="VSplitContainer/Menus/InventoryMenu/InventoryHolder" instance=ExtResource("5_fv4ti")]
unique_name_in_owner = true
visible = false
layout_mode = 2
[node name="InventoryChooser" type="TabBar" parent="VSplitContainer/Menus/InventoryMenu/InventoryHolder"]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 8
mouse_filter = 1
tab_count = 2
clip_tabs = false
tab_0/title = "Standard"
tab_1/title = "Key Items"
[node name="ClickMenu" type="PopupMenu" parent="VSplitContainer/Menus/InventoryMenu"]
unique_name_in_owner = true
size = Vector2i(28, 8)
[node name="QuestsMenu" type="PanelContainer" parent="VSplitContainer/Menus"]
visible = false
custom_minimum_size = Vector2(0, 320)
layout_mode = 2
theme_override_styles/panel = ExtResource("1_2f8ur")
script = ExtResource("7_3mkgs")
[node name="VBoxContainer" type="VBoxContainer" parent="VSplitContainer/Menus/QuestsMenu"]
layout_mode = 2
[node name="Label" type="Label" parent="VSplitContainer/Menus/QuestsMenu/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 28
text = "Quests"
horizontal_alignment = 1
vertical_alignment = 2
[node name="ScrollContainer" type="ScrollContainer" parent="VSplitContainer/Menus/QuestsMenu/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="QuestDisplays" type="VBoxContainer" parent="VSplitContainer/Menus/QuestsMenu/VBoxContainer/ScrollContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="MarginContainer" type="MarginContainer" parent="VSplitContainer/Menus/QuestsMenu/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_left = 16
theme_override_constants/margin_top = 6
theme_override_constants/margin_right = 16
theme_override_constants/margin_bottom = 6
[node name="AchievementsButton" type="Button" parent="VSplitContainer/Menus/QuestsMenu/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 4
theme_override_font_sizes/font_size = 23
text = "Achievements"
[node name="OptionsMenu" type="PanelContainer" parent="VSplitContainer/Menus"]
visible = false
custom_minimum_size = Vector2(0, 320)
layout_mode = 2
theme_override_styles/panel = ExtResource("1_2f8ur")
script = ExtResource("7_a03ci")
[node name="VSplitContainer2" type="VSplitContainer" parent="VSplitContainer/Menus/OptionsMenu"]
layout_mode = 2
collapsed = true
dragger_visibility = 2
[node name="TitleZone" type="MarginContainer" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2"]
layout_mode = 2
theme_override_constants/margin_top = 2
theme_override_constants/margin_bottom = 8
[node name="OptionsMenu" type="Label" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/TitleZone"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 28
text = "Options"
horizontal_alignment = 1
vertical_alignment = 2
[node name="OptionsZone" type="MarginContainer" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2"]
layout_mode = 2
theme_override_constants/margin_left = 12
theme_override_constants/margin_right = 11
[node name="VBoxContainer" type="VBoxContainer" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone"]
layout_mode = 2
theme_override_constants/separation = 0
[node name="Label" type="Label" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "Total Volume"
[node name="TotalVolSlider" type="HSlider" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
max_value = 1.0
step = 0.1
tick_count = 11
ticks_on_borders = true
[node name="MarginContainer2" type="MarginContainer" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_top = 7
[node name="MusicVolumeLabel" type="Label" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer/MarginContainer2"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "Music Volume"
[node name="MusicVolSlider" type="HSlider" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
max_value = 1.0
step = 0.1
tick_count = 11
ticks_on_borders = true
[node name="MarginContainer" type="MarginContainer" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_top = 7
[node name="SFX Volume Slider" type="Label" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer/MarginContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "SFX Volume"
[node name="SFXVolSlider" type="HSlider" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
max_value = 1.0
step = 0.1
tick_count = 11
ticks_on_borders = true
[node name="HBoxContainer2" type="HBoxContainer" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer"]
layout_mode = 2
[node name="MessageOpen" type="Label" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer/HBoxContainer2"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "Open Messages on Update
"
[node name="messageCheck" type="CheckBox" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer/HBoxContainer2"]
unique_name_in_owner = true
layout_mode = 2
button_pressed = true
[node name="MarginContainer3" type="MarginContainer" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_top = 7
[node name="HBoxContainer" type="HBoxContainer" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer/MarginContainer3"]
layout_mode = 2
[node name="Lime mode label" type="Label" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer/MarginContainer3/HBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "Enable Limes
"
[node name="limeCheck" type="CheckBox" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer/MarginContainer3/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
[node name="CreditsButton" type="Button" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 6
text = "Credits"
[node name="EscMenuButton" type="Button" parent="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 6
text = "Assist and Quit Menus"
[node name="TabBar" type="TabBar" parent="VSplitContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 10
theme = SubResource("Theme_2mqxx")
theme_override_styles/tab_hovered = SubResource("StyleBoxFlat_bvuyr")
theme_override_styles/tab_focus = SubResource("StyleBoxEmpty_ldmfh")
tab_count = 5
scrolling_enabled = false
scroll_to_selected = false
tab_0/title = ""
tab_0/icon = ExtResource("4_gao24")
tab_1/title = ""
tab_1/icon = ExtResource("6_amtyg")
tab_2/title = ""
tab_2/icon = ExtResource("10_58o0j")
tab_3/title = ""
tab_3/icon = ExtResource("8_0a6sq")
tab_4/title = ""
tab_4/icon = ExtResource("12_mxc81")
[connection signal="tab_changed" from="VSplitContainer/Menus/InventoryMenu/InventoryHolder/InventoryChooser" to="VSplitContainer/Menus/InventoryMenu" method="_on_inventory_chooser_tab_changed"]
[connection signal="id_pressed" from="VSplitContainer/Menus/InventoryMenu/ClickMenu" to="VSplitContainer/Menus/InventoryMenu" method="_on_click_menu_id_pressed"]
[connection signal="pressed" from="VSplitContainer/Menus/QuestsMenu/VBoxContainer/MarginContainer/AchievementsButton" to="." method="_on_achievements_button_pressed"]
[connection signal="pressed" from="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer/HBoxContainer2/messageCheck" to="VSplitContainer/Menus/OptionsMenu" method="_on_message_check_pressed"]
[connection signal="pressed" from="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer/CreditsButton" to="." method="_on_credits_button_pressed"]
[connection signal="pressed" from="VSplitContainer/Menus/OptionsMenu/VSplitContainer2/OptionsZone/VBoxContainer/EscMenuButton" to="." method="_on_esc_menu_button_pressed"]
[connection signal="tab_clicked" from="VSplitContainer/TabBar" to="." method="_on_tab_bar_tab_clicked"]