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

View file

@ -0,0 +1,6 @@
extends VBoxContainer
func show_achievement(achievement:Achievement):
%StickerSprite.texture = achievement.get_current_sprite()
%AchievementName.text = achievement.get_name()
%AchievementDescription.text = achievement.get_description()

View file

@ -0,0 +1,34 @@
[gd_scene load_steps=3 format=3 uid="uid://ctuytqfbdlvvl"]
[ext_resource type="Texture2D" uid="uid://byuj18rnowo4t" path="res://Achievements/AchievementScripts/Levels/Sprites/Walking20Achieved.png" id="1_3v18l"]
[ext_resource type="Script" path="res://UI/AchievementsMenu/AchievementDisplay.gd" id="1_54p10"]
[node name="AchievementDisplay" type="VBoxContainer"]
custom_minimum_size = Vector2(180, 0)
script = ExtResource("1_54p10")
[node name="StickerSprite" type="TextureRect" parent="."]
unique_name_in_owner = true
custom_minimum_size = Vector2(64, 64)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("1_3v18l")
[node name="AchievementName" type="Label" parent="."]
unique_name_in_owner = true
layout_mode = 2
text = "It's Walking Time"
horizontal_alignment = 1
[node name="ScrollContainer" type="ScrollContainer" parent="."]
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
[node name="AchievementDescription" type="Label" parent="ScrollContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(175, 0)
layout_mode = 2
size_flags_horizontal = 6
text = "Play with a sugary worm on a string"
horizontal_alignment = 1
autowrap_mode = 3

View file

@ -0,0 +1,103 @@
extends Control
var categorySelectors = []
var achievementDisplays = []
var currentCategory
var currentAchievements
var currentPage
var pageSize
func _ready():
initialize()
spawn_category_buttons()
set_category(AchievementManager.get_categories()[0])
func opened():
get_tree().paused = true
update_category_buttons()
show_page(currentPage)
func close():
get_tree().paused = false
visible = false
func update_category_buttons():
for categorySelector in categorySelectors:
categorySelector.update_display()
func spawn_category_buttons():
var categorySelectorScene = load("res://UI/AchievementsMenu/CategorySelector.tscn")
var categories = AchievementManager.get_categories()
for category in categories:
var newSelector = categorySelectorScene.instantiate()
newSelector.set_category(category)
categorySelectors.append(newSelector)
%CategorySelectors.add_child(newSelector)
newSelector.pressed.connect(category_selector_clicked.bind(newSelector))
func category_selector_clicked(selector):
set_category(selector.get_category())
func set_category(category):
currentCategory = category
currentAchievements = category.get_achievements()
show_page(0)
func show_page(pageNum):
currentPage = pageNum
var pageAchievements = get_page_achievements()
for i in range(pageSize):
var currentDisplay = achievementDisplays[i]
if i < pageAchievements.size():
currentDisplay.visible = true
currentDisplay.show_achievement(pageAchievements[i])
else:
currentDisplay.visible = false
var maxPage = get_max_page()
%PageNumber.text = "Page " + str(pageNum + 1) + "/" + str(maxPage + 1)
update_page_buttons()
func get_page_achievements():
var firstIndex = currentPage * pageSize
var pageAchievements = []
for i in range(pageSize):
var currentIndex = firstIndex + i
if currentIndex < currentAchievements.size():
pageAchievements.append(currentAchievements[currentIndex])
else:
break
return pageAchievements
func get_max_page():
var maxPage = ceili(float(currentAchievements.size())/float(pageSize)) - 1
return maxPage
func update_page_buttons():
if currentPage <= 0:
%PageLeftButton.disabled = true
else:
%PageLeftButton.disabled = false
if currentPage >= get_max_page():
%PageRightButton.disabled = true
else:
%PageRightButton.disabled = false
func initialize():
achievementDisplays = %AchievementDisplays.get_children()
pageSize = achievementDisplays.size()
func _on_page_left_button_pressed():
show_page(currentPage - 1)
func _on_page_right_button_pressed():
show_page(currentPage + 1)
func _on_close_button_pressed():
close()

View file

@ -0,0 +1,161 @@
[gd_scene load_steps=6 format=3 uid="uid://dnt4r6t0qkc6g"]
[ext_resource type="Script" path="res://UI/AchievementsMenu/AchievementsMenu.gd" id="1_f2u73"]
[ext_resource type="PackedScene" uid="uid://ctuytqfbdlvvl" path="res://UI/AchievementsMenu/AchievementDisplay.tscn" id="2_d8wsb"]
[ext_resource type="PackedScene" uid="uid://bv25pnvc5mfkl" path="res://UI/Buttons/PageButtons/PageLeftButton.tscn" id="3_oanwh"]
[ext_resource type="PackedScene" uid="uid://dntmbosucrj4u" path="res://UI/Buttons/PageButtons/PageRightButton.tscn" id="4_k0eub"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4oavb"]
bg_color = Color(0.372549, 0.6, 0.6, 1)
border_width_left = 6
border_width_top = 6
border_width_right = 7
border_width_bottom = 6
[node name="AchievementsMenu" type="Control"]
process_mode = 3
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_f2u73")
[node name="PanelContainer" type="PanelContainer" parent="."]
custom_minimum_size = Vector2(650, 595)
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -300.0
offset_top = -200.0
offset_right = 300.0
offset_bottom = 200.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_4oavb")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
[node name="AchievementsLabelMargin" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_top = 4
[node name="AchievementsLabel" type="Label" parent="PanelContainer/VBoxContainer/AchievementsLabelMargin"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
text = "Achievements"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 7
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 8
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
[node name="CategoryZone" type="ScrollContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer"]
custom_minimum_size = Vector2(240, 0)
layout_mode = 2
size_flags_vertical = 3
[node name="CategorySelectors" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer/CategoryZone"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 8
[node name="CloseButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer/MarginContainer"]
custom_minimum_size = Vector2(0, 40)
layout_mode = 2
theme_override_font_sizes/font_size = 22
text = "Close"
[node name="StickersZone" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="AchievementDisplays" type="HFlowContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/h_separation = 17
alignment = 1
[node name="AchievementDisplay" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/AchievementDisplays" instance=ExtResource("2_d8wsb")]
layout_mode = 2
[node name="AchievementDisplay2" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/AchievementDisplays" instance=ExtResource("2_d8wsb")]
layout_mode = 2
[node name="AchievementDisplay3" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/AchievementDisplays" instance=ExtResource("2_d8wsb")]
layout_mode = 2
[node name="AchievementDisplay4" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/AchievementDisplays" instance=ExtResource("2_d8wsb")]
layout_mode = 2
[node name="AchievementDisplay5" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/AchievementDisplays" instance=ExtResource("2_d8wsb")]
layout_mode = 2
[node name="AchievementDisplay6" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/AchievementDisplays" instance=ExtResource("2_d8wsb")]
layout_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone"]
custom_minimum_size = Vector2(0, 65)
layout_mode = 2
size_flags_vertical = 10
theme_override_constants/margin_left = 30
theme_override_constants/margin_top = 6
theme_override_constants/margin_right = 30
theme_override_constants/margin_bottom = 6
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/separation = 0
[node name="PageLeftButton" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/MarginContainer/HBoxContainer" instance=ExtResource("3_oanwh")]
unique_name_in_owner = true
custom_minimum_size = Vector2(80, 0)
layout_mode = 2
size_flags_horizontal = 4
ignore_texture_size = true
stretch_mode = 0
[node name="PageNumber" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/MarginContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 6
theme_override_font_sizes/font_size = 25
text = "Page 3/1"
horizontal_alignment = 1
vertical_alignment = 1
[node name="PageRightButton" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/MarginContainer/HBoxContainer" instance=ExtResource("4_k0eub")]
unique_name_in_owner = true
custom_minimum_size = Vector2(80, 0)
layout_mode = 2
size_flags_horizontal = 4
ignore_texture_size = true
stretch_mode = 0
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer/MarginContainer/CloseButton" to="." method="_on_close_button_pressed"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/MarginContainer/HBoxContainer/PageLeftButton" to="." method="_on_page_left_button_pressed"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/MarginContainer/HBoxContainer/PageRightButton" to="." method="_on_page_right_button_pressed"]

View file

@ -0,0 +1,34 @@
extends Button
var shownCategory
func get_category():
return shownCategory
func set_category(category):
shownCategory = category
update_display()
func update_display():
%CategoryTitle.text = shownCategory.get_category_name()
var completed = shownCategory.get_complete_count()
var total = shownCategory.get_achievement_count()
var percentage = floori((float(completed) / float(total)) * 100)
if completed > 0 and percentage <= 0:
percentage = 1
var progressCountText = str(completed) + "/" + str(total) + " - "
progressCountText += str(percentage) + "%"
%ProgressCount.text = progressCountText
%ProgressBar.max_value = total
%ProgressBar.value = completed
if completed >= total:
var greenFillBox:StyleBoxFlat = StyleBoxFlat.new()
greenFillBox.bg_color = Color.GREEN
%ProgressBar.set("theme_override_styles/fill", greenFillBox)

View file

@ -0,0 +1,52 @@
[gd_scene load_steps=4 format=3 uid="uid://b56fxgx8o2mr2"]
[ext_resource type="Script" path="res://UI/AchievementsMenu/CategorySelector.gd" id="1_sd6m4"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mcele"]
bg_color = Color(0.733333, 0.541176, 0.572549, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_y3isj"]
bg_color = Color(0.839216, 0.796078, 0, 1)
[node name="CategorySelector" type="Button"]
custom_minimum_size = Vector2(240, 80)
script = ExtResource("1_sd6m4")
[node name="ProgressBar" type="ProgressBar" parent="."]
unique_name_in_owner = true
custom_minimum_size = Vector2(220, 40)
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -110.0
offset_top = -40.0
offset_right = 110.0
grow_horizontal = 2
grow_vertical = 0
theme_override_styles/background = SubResource("StyleBoxFlat_mcele")
theme_override_styles/fill = SubResource("StyleBoxFlat_y3isj")
value = 40.0
show_percentage = false
[node name="VBoxContainer" type="VBoxContainer" parent="."]
custom_minimum_size = Vector2(240, 80)
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="CategoryTitle" type="Label" parent="VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 26
text = "Levels"
horizontal_alignment = 1
[node name="ProgressCount" type="Label" parent="VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 26
text = "1/1 - 100%"
horizontal_alignment = 1

View file

@ -0,0 +1,10 @@
extends CheckButton
func _process(delta):
if LevelManager.skills["walking"].currentLevel < 20:
hide()
else:
show()
func _on_toggled(toggled_on):
GameVariables.player.fastWalking = toggled_on

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dhxjqajqpfh86"
path="res://.godot/imported/FastWalkingToggled.png-201fbaeea84b0ab2776bc641e1cf0da5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/ActionButtons/FastWalking/FastWalkingToggled.png"
dest_files=["res://.godot/imported/FastWalkingToggled.png-201fbaeea84b0ab2776bc641e1cf0da5.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: 859 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bkid13w75okyv"
path="res://.godot/imported/FastWalkingUntoggled.png-1d0e109e5984eb7d837f3f400d99ad0c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/ActionButtons/FastWalking/FastWalkingUntoggled.png"
dest_files=["res://.godot/imported/FastWalkingUntoggled.png-1d0e109e5984eb7d837f3f400d99ad0c.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,43 @@
extends ScrollContainer
var displayScene = preload("res://UI/AshBarrel/AshQuantityDisplay.tscn")
func add_ash(ashName):
var itemFound = false
var displays = %AshQuantityDisplays.get_children()
for display in displays:
var currentAshName = display.ashName
if currentAshName == ashName:
display.set_ash_count(display.ashCount + 1)
itemFound = true
break
if !itemFound:
var newDisplay = displayScene.instantiate()
%AshQuantityDisplays.add_child(newDisplay)
newDisplay.visible = true
newDisplay.set_ash_name(ashName)
newDisplay.set_ash_count(1)
func display_barrel_inventory():
var config = SaveManager.get_save_config()
var ashNames = config.get_section_keys("AshBarrel")
var displays = %AshQuantityDisplays.get_children()
for display in displays:
display.visible = false
for i in range(ashNames.size()):
var currentAshName = ashNames[i]
var currentAshCount = SaveManager.get_value_from_section("AshBarrel", currentAshName, 0)
if i >= displays.size():
var newDisplay = displayScene.instantiate()
%AshQuantityDisplays.add_child(newDisplay)
displays.append(newDisplay)
var currentDisplay = displays[i]
currentDisplay.visible = true
currentDisplay.set_ash_name(currentAshName)
currentDisplay.set_ash_count(currentAshCount)

View file

@ -0,0 +1,23 @@
[gd_scene load_steps=4 format=3 uid="uid://clpkuwmqfa7vp"]
[ext_resource type="PackedScene" uid="uid://cwkj1o1dlonhk" path="res://UI/AshBarrel/AshQuantityDisplay.tscn" id="1_rlw8v"]
[ext_resource type="Script" path="res://UI/AshBarrel/AshBarrelContents.gd" id="1_sfqre"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ys683"]
[node name="AshBarrelContents" type="ScrollContainer"]
offset_right = 400.0
offset_bottom = 300.0
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_styles/panel = SubResource("StyleBoxFlat_ys683")
script = ExtResource("1_sfqre")
[node name="AshQuantityDisplays" type="VBoxContainer" parent="."]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/separation = 0
[node name="AshQuantityDisplay" parent="AshQuantityDisplays" instance=ExtResource("1_rlw8v")]
layout_mode = 2

View file

@ -0,0 +1,130 @@
extends Window
@onready var inventoryDisplayer = %InventoryDisplayer
func _ready():
inventoryDisplayer.buttonPressed.connect(add_ash)
func opened():
get_tree().paused = true
initialize_inventory()
initialize_barrel_contents()
update_barrel_display()
%CheckButton.button_pressed = SaveManager.get_save_value("PreventAshDuplicates", false)
func update_display(ashCount:int = -1):
update_inventory()
update_barrel_display(ashCount)
func initialize_barrel_contents():
%AshBarrelContents.display_barrel_inventory()
func add_to_barrel_display(ashName):
%AshBarrelContents.add_ash(ashName)
func update_barrel_display(ashCount:int = -1):
if ashCount == -1:
ashCount = get_ash_count()
var ashLevel = ashCount
if ashLevel > 0:
%AshBottom.visible = true
%AshBottom.self_modulate = get_ash_color()
else:
%AshBottom.visible = false
if ashLevel > 100:
ashLevel = 100
%AshProgress.value = ashLevel
var newStyleBox = %AshProgress.get("theme_override_styles/fill")
newStyleBox.bg_color = get_ash_color()
get_parent().update_ash()
func get_ash_color():
var ashColor = SaveManager.get_save_value("AshBarrelColor", "#FFFFFF")
return Color.html(ashColor)
func get_ash_count():
var ashCount = 0
var config = SaveManager.get_save_config()
var ashNames = config.get_section_keys("AshBarrel")
for i in range(ashNames.size()):
var currentAshName = ashNames[i]
var currentAshCount = SaveManager.get_value_from_section("AshBarrel", currentAshName, 0)
ashCount += currentAshCount
return ashCount
func add_ash(item:Item):
var itemName = item.get_name()
var timesAdded = SaveManager.get_value_from_section("AshBarrel", itemName, 0)
if SaveManager.get_save_value("PreventAshDuplicates", false) and timesAdded > 0:
return
timesAdded += 1
SaveManager.save_to_section("AshBarrel", itemName, timesAdded)
var ashColor:Color = SpriteGeneration.get_average_color(item.get_sprite().get_image())
var totalAsh = get_ash_count()
if totalAsh == 1:
SaveManager.set_save_value("AshBarrelColor", ashColor.to_html())
else:
var oldRatio = (totalAsh-1)/float(totalAsh)
var newRatio = 1 - oldRatio
if newRatio < 0.1:
newRatio = 0.1
var oldAshColor = get_ash_color()
var newAverageColor = oldAshColor.lerp(ashColor, newRatio)
SaveManager.set_save_value("AshBarrelColor", newAverageColor.to_html())
InventoryManager.remove_item_from_inventory(item)
if totalAsh >= 100:
AchievementManager.complete_achievement("Community Service")
var config = SaveManager.get_save_config()
var ashNames = config.get_section_keys("AshBarrel")
if ashNames.size() >= 200:
AchievementManager.complete_achievement("Arson Scientist")
update_display(totalAsh)
add_to_barrel_display(itemName)
func initialize_inventory():
update_inventory()
inventoryDisplayer.set_title("Ash Items")
func update_inventory():
var playerInventory = InventoryManager.get_inventory()
inventoryDisplayer.inventory = filter_inventory(playerInventory)
inventoryDisplayer.update_display()
func filter_inventory(inventory):
var filteredInv:Inventory = Inventory.new()
var i = inventory.items.size() - 1
while i >= 0:
var currentItem = inventory.items[i]
if Item.types.Ash in currentItem.itemTypes:
filteredInv.add_item(currentItem.duplicate(), inventory.quantities[i])
i -= 1
return filteredInv
func _on_leave_button_pressed():
get_tree().paused = false
get_parent().update_ash()
hide()
func _on_check_button_toggled(toggled_on):
SaveManager.set_save_value("PreventAshDuplicates", toggled_on)

View file

@ -0,0 +1,152 @@
[gd_scene load_steps=9 format=3 uid="uid://rggivntaylnr"]
[ext_resource type="Script" path="res://UI/AshBarrel/AshBarrelWindow.gd" id="1_dx65t"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="2_teuni"]
[ext_resource type="Texture2D" uid="uid://bfsfwarreymej" path="res://Objects/Museum/AshBarrel/AshBarrel.png" id="3_lg4rj"]
[ext_resource type="PackedScene" uid="uid://clpkuwmqfa7vp" path="res://UI/AshBarrel/AshBarrelContents.tscn" id="3_xickp"]
[ext_resource type="Texture2D" uid="uid://6qkrfsj54byn" path="res://Objects/Museum/AshBarrel/AshBottom.png" id="4_n8vro"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gwc7g"]
bg_color = Color(0.87451, 0.882353, 0.886275, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_evst0"]
bg_color = Color(0.6, 0.6, 0.6, 0)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hiy88"]
bg_color = Color(0.819608, 0, 0.34902, 1)
border_color = Color(0, 0.235294, 0.909804, 1)
[node name="AshBarrelWindow" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
borderless = true
script = ExtResource("1_dx65t")
[node name="PanelContainer" type="PanelContainer" parent="."]
custom_minimum_size = Vector2(600, 500)
offset_right = 40.0
offset_bottom = 40.0
theme_override_styles/panel = SubResource("StyleBoxFlat_gwc7g")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 13
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.65098, 0.647059, 0.627451, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
theme_override_font_sizes/font_size = 32
text = "Ash Barrel"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 14
theme_override_constants/margin_right = 14
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/separation = 14
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="InventoryDisplayer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer" instance=ExtResource("2_teuni")]
unique_name_in_owner = true
layout_mode = 2
[node name="CheckButton" type="CheckButton" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_colors/font_pressed_color = Color(0, 0, 0, 1)
theme_override_colors/font_hover_color = Color(0, 0, 0, 1)
theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1)
theme_override_colors/font_focus_color = Color(0, 0, 0, 1)
theme_override_colors/font_disabled_color = Color(0, 0, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
text = "Prevent Adding Duplicates"
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 21
text = "Barrel Contents"
horizontal_alignment = 1
vertical_alignment = 2
[node name="AshBarrelContents" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer" instance=ExtResource("3_xickp")]
unique_name_in_owner = true
layout_mode = 2
[node name="Node2D" type="Node2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer"]
position = Vector2(30, 50)
[node name="AshProgress" type="ProgressBar" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer/Node2D"]
unique_name_in_owner = true
offset_top = 160.0
offset_right = 210.0
offset_bottom = 300.0
theme_override_styles/background = SubResource("StyleBoxFlat_evst0")
theme_override_styles/fill = SubResource("StyleBoxFlat_hiy88")
value = 80.0
fill_mode = 3
show_percentage = false
[node name="AshBottom" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer/Node2D"]
unique_name_in_owner = true
position = Vector2(105, 227)
scale = Vector2(0.8, 0.8)
texture = ExtResource("4_n8vro")
[node name="BarrelSprite2" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer"]
clip_children = 2
position = Vector2(137, 277)
scale = Vector2(0.8, 0.8)
texture = ExtResource("3_lg4rj")
[node name="Control" type="Control" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
size_flags_stretch_ratio = 1.75
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_left = 47
theme_override_constants/margin_right = 42
theme_override_constants/margin_bottom = 10
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 40
theme_override_constants/margin_right = 40
[node name="LeaveButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Leave"
[connection signal="toggled" from="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer/CheckButton" to="." method="_on_check_button_toggled"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/MarginContainer/LeaveButton" to="." method="_on_leave_button_pressed"]

View file

@ -0,0 +1,12 @@
extends PanelContainer
var ashName = ""
var ashCount = 0
func set_ash_name(newAshName):
%AshName.text = newAshName
ashName = newAshName
func set_ash_count(amount):
%AshCount.text = "x" + str(amount)
ashCount = amount

View file

@ -0,0 +1,29 @@
[gd_scene load_steps=2 format=3 uid="uid://cwkj1o1dlonhk"]
[ext_resource type="Script" path="res://UI/AshBarrel/AshQuantityDisplay.gd" id="1_2bb87"]
[node name="AshQuantityDisplay" type="PanelContainer"]
size_flags_horizontal = 3
script = ExtResource("1_2bb87")
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 2
theme_override_constants/margin_left = 10
theme_override_constants/margin_right = 10
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"]
layout_mode = 2
[node name="AshName" type="Label" parent="MarginContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
text = "Caramel Ash"
vertical_alignment = 1
[node name="AshCount" type="Label" parent="MarginContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "x1333"
horizontal_alignment = 1
vertical_alignment = 1

View file

@ -0,0 +1,135 @@
extends Window
@onready var inventoryDisplayer = %InventoryDisplayer
var shownBasket
var messageFadeDelay = 1
var messageFadeSpeed = 1
func _ready():
inventoryDisplayer.buttonPressed.connect(place_basket)
inventoryDisplayer.set_title("Baskets")
func _process(delta):
if %Message.self_modulate.a > 0:
if messageFadeDelay > 0:
messageFadeDelay -= delta
else:
%Message.self_modulate.a -= (messageFadeSpeed * delta)
func opened():
get_tree().paused = true
%Message.self_modulate.a = 0
shownBasket = get_parent().get_current_basket()
initialize_inventory()
update_basket_display()
func initialize_inventory():
var playerInventory = InventoryManager.get_inventory()
inventoryDisplayer.inventory = filter_inventory(playerInventory)
inventoryDisplayer.update_display()
func update_inventory():
inventoryDisplayer.update_display()
func update_basket_display():
if shownBasket != null:
%BasketSprite.texture = shownBasket.get_sprite()
else:
%BasketSprite.texture = null
if shownBasket != null:
var maxSpace = BasketWeaving.get_basket_space(shownBasket)
var spaceUsed = get_parent().get_used_space(shownBasket)
%BasketSpace.text = "Space: " + str(spaceUsed) + "/" + str(maxSpace)
if maxSpace < spaceUsed:
%BasketSpace.set("theme_override_colors/font_color", Color.RED)
else:
%BasketSpace.set("theme_override_colors/font_color", Color.WHITE)
else:
%BasketSpace.text = "Space: 0/0"
if shownBasket != null:
%BasketName.text = shownBasket.get_name()
else:
%BasketName.text = "No basket placed"
if shownBasket != null:
%ReturnButton.visible = true
else:
%ReturnButton.visible = false
func remove_basket():
if shownBasket != null:
inventoryDisplayer.inventory.add_item(shownBasket)
shownBasket = null
update_inventory()
update_basket_display()
func place_basket(basket):
if shownBasket != null:
inventoryDisplayer.inventory.add_item(shownBasket)
inventoryDisplayer.inventory.remove_item(basket)
shownBasket = basket
update_inventory()
update_basket_display()
func filter_inventory(inventory):
var filteredInv:Inventory = inventory.duplicate()
var i = filteredInv.items.size() - 1
while i >= 0:
var currentItem:Item = filteredInv.items[i]
if not Item.types.Basket in currentItem.itemTypes:
filteredInv.remove_item(currentItem, filteredInv.quantities[i])
i -= 1
return filteredInv
func not_enough_space_message():
%Message.self_modulate.a = 1
messageFadeDelay = 1
func _on_confirm_button_pressed():
var maxSpace = 0
if shownBasket != null:
maxSpace = BasketWeaving.get_basket_space(shownBasket)
var spaceUsed = get_parent().get_used_space(shownBasket)
if spaceUsed > maxSpace:
if shownBasket == null:
%Message.text = "Empty basket contents first"
else:
%Message.text = "Not Enough Space in New Basket"
not_enough_space_message()
return
get_parent().change_current_basket(shownBasket)
get_parent().update_basket_display()
if shownBasket.get_name(false) == "Wustard Basket":
var wustardItems = 0
var basketInv = InventoryManager.get_inventory(get_parent().basketInvName)
for item:Item in basketInv.items:
if item.get_name().contains("Wustard") and !item.get_name().contains("Empty"):
wustardItems += 1
if wustardItems >= 5:
AchievementManager.complete_achievement("Wustard Lover")
break
get_tree().paused = false
hide()
func _on_cancel_button_pressed():
get_tree().paused = false
hide()
func _on_return_button_pressed():
remove_basket()

View file

@ -0,0 +1,183 @@
[gd_scene load_steps=7 format=3 uid="uid://k2okvt6ol7r3"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="1_kofvl"]
[ext_resource type="Script" path="res://UI/BasketStorage/BasketPlacingWindow.gd" id="1_mwxs2"]
[ext_resource type="Texture2D" uid="uid://bbmlkil40xcbc" path="res://MiscArt/WhiteCircle.png" id="2_ru54q"]
[ext_resource type="Texture2D" uid="uid://dlxnk74anrjt7" path="res://Items/Basket/BaseItem/BasketBasket.png" id="3_qvqwn"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_iimgq"]
bg_color = Color(0.419608, 0.223529, 0.141176, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[sub_resource type="FontVariation" id="FontVariation_plq2c"]
spacing_bottom = -14
[node name="BasketPlacingWindow" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
borderless = true
script = ExtResource("1_mwxs2")
[node name="PanelContainer" type="PanelContainer" parent="."]
custom_minimum_size = Vector2(600, 500)
offset_right = 40.0
offset_bottom = 40.0
theme_override_styles/panel = SubResource("StyleBoxFlat_iimgq")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 13
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.960784, 0.713726, 0.494118, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
theme_override_font_sizes/font_size = 32
text = "Basket Placing"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 14
theme_override_constants/margin_right = 14
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/separation = 14
[node name="InventoryDisplayer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("1_kofvl")]
unique_name_in_owner = true
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
layout_mode = 2
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 0
theme_override_constants/margin_bottom = 10
[node name="VSplitContainer" type="VSplitContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer"]
layout_mode = 2
split_offset = 400
dragger_visibility = 2
[node name="VBoxContainer" type="VSplitContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VSplitContainer"]
layout_mode = 2
collapsed = true
dragger_visibility = 2
[node name="BasketName" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VSplitContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.4
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_plq2c")
theme_override_font_sizes/font_size = 35
text = "Basket"
horizontal_alignment = 1
vertical_alignment = 2
autowrap_mode = 2
[node name="BasketSpace" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VSplitContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_plq2c")
theme_override_font_sizes/font_size = 35
text = "Space: 5/20"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="ReturnButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VSplitContainer"]
unique_name_in_owner = true
visible = false
layout_mode = 2
size_flags_horizontal = 4
text = " Remove "
[node name="Outline" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
self_modulate = Color(0.713726, 0.713726, 0.713726, 1)
position = Vector2(140, 160)
scale = Vector2(0.2, 0.2)
texture = ExtResource("2_ru54q")
[node name="BasketSprite" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
unique_name_in_owner = true
position = Vector2(144, 198)
scale = Vector2(3, 3)
texture = ExtResource("3_qvqwn")
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_left = 47
theme_override_constants/margin_right = 42
theme_override_constants/margin_bottom = 10
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
alignment = 1
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 0
theme_override_constants/margin_right = 45
[node name="ConfirmButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Confirm"
[node name="CancelButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 8
text = "Cancel"
[node name="Message" type="Label" parent="."]
unique_name_in_owner = true
self_modulate = Color(1, 1, 1, 0)
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -239.5
offset_top = -22.5
offset_right = 239.5
offset_bottom = 22.5
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_colors/font_color = Color(1, 0, 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 = 30
text = "Not Enough Space in New Basket"
horizontal_alignment = 1
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VSplitContainer/ReturnButton" to="." method="_on_return_button_pressed"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer/ConfirmButton" to="." method="_on_confirm_button_pressed"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/CancelButton" to="." method="_on_cancel_button_pressed"]

View file

@ -0,0 +1,145 @@
extends Window
var basketInventoryName
func _ready():
basketInventoryName = get_parent().basketInvName
%InventoryDisplayer.fiveButtons = true
%InventoryDisplayer.allButtons = true
%InventoryDisplayer.buttonPressed.connect(store_item_request)
%InventoryDisplayer.fiveButtonPressed.connect(store_item_request.bind(5))
%InventoryDisplayer.allButtonPressed.connect(store_item_request.bind(999999))
%InventoryDisplayer.set_title("Inventory")
%BasketInventoryDisplayer.fiveButtons = true
%BasketInventoryDisplayer.allButtons = true
%BasketInventoryDisplayer.buttonPressed.connect(withdraw_item_request)
%BasketInventoryDisplayer.fiveButtonPressed.connect(withdraw_item_request.bind(5))
%BasketInventoryDisplayer.allButtonPressed.connect(withdraw_item_request.bind(999999))
%BasketInventoryDisplayer.set_title("Basket Inventory")
update_displays()
func opened():
get_tree().paused = true
update_displays()
func update_displays():
update_inventory_displays()
update_space_display()
func update_space_display():
var basketSpace = get_parent().get_current_basket_space()
var basketSpaceUsed = get_parent().get_used_space()
%SpaceLabel.text = "Space: " + str(basketSpaceUsed) + "/" + str(basketSpace)
func update_inventory_displays():
%InventoryDisplayer.inventory = InventoryManager.get_inventory()
%InventoryDisplayer.update_display()
%BasketInventoryDisplayer.inventory = InventoryManager.get_inventory(basketInventoryName)
%BasketInventoryDisplayer.update_display()
func store_item_request(item, amount = 1):
var itemsInInv = InventoryManager.get_item_count(item)
if itemsInInv < amount:
amount = itemsInInv
if not (SaveManager.get_save_value("ambiQuestComplete", false) and get_parent().infinite_check(item)):
var basketSpaceLeft = get_parent().get_basket_space_left()
if amount > basketSpaceLeft:
amount = basketSpaceLeft
if amount > 0:
store_item(item, amount)
else:
no_room_message()
func no_room_message():
pass
func store_item(item, amount):
InventoryManager.remove_item_from_inventory(item, amount)
var basketItem:Item = get_parent().get_current_basket()
if Item.modifications.Wet in basketItem.itemModifications:
var newItem:Item = ItemSoaking.wet_item(item)
if amount >= 100 and !newItem.equals(item):
AchievementManager.complete_achievement("Leaky Basket")
InventoryManager.add_item_to_inventory(item, amount, basketInventoryName)
update_displays()
func withdraw_item_request(item, amount = 1):
var itemsInStorage = InventoryManager.get_item_count(item, basketInventoryName)
if itemsInStorage < amount:
amount = itemsInStorage
if amount > 0:
withdraw_item(item, amount)
func withdraw_item(item, amount):
InventoryManager.remove_item_from_inventory(item, amount, basketInventoryName)
InventoryManager.add_item_to_inventory(item, amount)
update_displays()
func achievement_checks():
var achievementSets = [["1 Fancy Skeleton",
["Crystal Bone",
"Dirt Bone",
"Haunted Bone",
"Licorice Bone",
"Parallelogram Bone",
"Pretzel Bone",
"Redby Bone",
"Rex Bone",
"Rock Bone",
"Square Bone",
"Zucchini Bone"], false],
["Portable Biodome",
["Amethyst Deceiver",
"Blue Pinkgill",
"Hairy Curtain Crust",
"Lions Mane",
"Mycena Chlorophos",
"Veiled Lady",
"Wolfs Milk Slime Mould"], false]
]
for achievementSet in achievementSets:
var achievementName = achievementSet[0]
var modified = achievementSet[2]
var itemNames = achievementSet[1]
var allAccountedFor = true
for itemName in itemNames:
var itemsInInv = InventoryManager.get_item_count_by_name(itemName, basketInventoryName, modified)
if itemsInInv <= 0:
allAccountedFor = false
break
if allAccountedFor:
AchievementManager.complete_achievement(achievementName)
#Wustard Lover Achievement
var basketItem = get_parent().get_current_basket()
if basketItem != null and basketItem.get_name(false) == "Wustard Basket":
var wustardItems = 0
var basketInv = InventoryManager.get_inventory(basketInventoryName)
for item:Item in basketInv.items:
if item.get_name().contains("Wustard") and !item.get_name().contains("Empty"):
wustardItems += 1
if wustardItems >= 5:
AchievementManager.complete_achievement("Wustard Lover")
break
func _on_leave_button_pressed():
achievement_checks()
get_tree().paused = false
hide()

View file

@ -0,0 +1,84 @@
[gd_scene load_steps=4 format=3 uid="uid://cgp2l1mosnko"]
[ext_resource type="Script" path="res://UI/BasketStorage/BasketStorageWindow.gd" id="1_udu18"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="2_gt4sc"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_iimgq"]
bg_color = Color(0.419608, 0.223529, 0.141176, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[node name="BasketStorageWindow" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
borderless = true
script = ExtResource("1_udu18")
[node name="PanelContainer" type="PanelContainer" parent="."]
custom_minimum_size = Vector2(600, 500)
offset_right = 40.0
offset_bottom = 40.0
theme_override_styles/panel = SubResource("StyleBoxFlat_iimgq")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 13
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.960784, 0.713726, 0.494118, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
theme_override_font_sizes/font_size = 32
text = "Basket Storage"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 14
theme_override_constants/margin_right = 14
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/separation = 14
[node name="InventoryDisplayer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("2_gt4sc")]
unique_name_in_owner = true
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="BasketInventoryDisplayer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer" instance=ExtResource("2_gt4sc")]
unique_name_in_owner = true
layout_mode = 2
[node name="SpaceLabel" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 11
theme_override_font_sizes/font_size = 26
text = "Space: 0/0"
horizontal_alignment = 1
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_left = 47
theme_override_constants/margin_right = 42
theme_override_constants/margin_bottom = 10
[node name="LeaveButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
size_flags_horizontal = 4
text = "Leave"
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/LeaveButton" to="." method="_on_leave_button_pressed"]

View file

@ -0,0 +1,52 @@
extends Window
@onready var inventoryItemDisplayer = %Inventory
var itemTransitionScene = preload("res://UI/Sugaring/ItemFadeTransition.tscn")
var risingAnimPosition = Vector2(160, 360)
var holeInventory:Inventory
func _ready():
inventoryItemDisplayer.fiveButtons = true
inventoryItemDisplayer.allButtons = true
inventoryItemDisplayer.buttonPressed.connect(grab_item)
inventoryItemDisplayer.fiveButtonPressed.connect(grab_item.bind(5))
inventoryItemDisplayer.allButtonPressed.connect(grab_item.bind(999999))
func opened():
get_tree().paused = true
holeInventory = InventoryManager.get_inventory("HoleInventory")
inventoryItemDisplayer.inventory = filter_inventory(holeInventory)
inventoryItemDisplayer.update_display()
func grab_item(item:Item, quantity:int = 1):
var itemsInInv = InventoryManager.get_item_count(item, "HoleInventory")
if itemsInInv < quantity:
quantity = itemsInInv
if quantity <= 0:
return
InventoryManager.remove_item_from_inventory(item, quantity, "HoleInventory")
InventoryManager.add_item_to_inventory(item, quantity)
grab_item_animation(item)
inventoryItemDisplayer.inventory = filter_inventory(holeInventory)
inventoryItemDisplayer.update_display()
func grab_item_animation(item):
var riseAnimation = preload("res://UI/BeachHole/ItemRisingTransition.tscn").instantiate()
riseAnimation.start_transition(item.get_sprite())
riseAnimation.position = risingAnimPosition
add_child(riseAnimation)
func filter_inventory(inventory):
var filteredInv:Inventory = inventory.duplicate()
return filteredInv
func _on_leave_button_pressed():
get_tree().paused = false
hide()

View file

@ -0,0 +1,88 @@
[gd_scene load_steps=6 format=3 uid="uid://baol6qs3m4f1h"]
[ext_resource type="Theme" uid="uid://dkofjwlcf80gp" path="res://UI/Themes/InteractionPopupTheme.tres" id="1_klena"]
[ext_resource type="Script" path="res://UI/BeachHole/BeachHoleMenu.gd" id="2_ubrll"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="3_sn6aa"]
[ext_resource type="Texture2D" uid="uid://dxh2ma3cc001r" path="res://Objects/Beach/Hole/BeachHole.png" id="4_ldell"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_n5jl5"]
bg_color = Color(0.188235, 0.105882, 0.0117647, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 19
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[node name="BeachHoleMenu" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
unresizable = true
borderless = true
theme = ExtResource("1_klena")
script = ExtResource("2_ubrll")
[node name="PanelContainer" type="PanelContainer" parent="."]
offset_right = 590.0
offset_bottom = 8.0
theme_override_styles/panel = SubResource("StyleBoxFlat_n5jl5")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
custom_minimum_size = Vector2(590, 490)
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/separation = 11
[node name="HoleName" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.54902, 0.239216, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
theme_override_font_sizes/font_size = 32
text = "Hole"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 8
theme_override_constants/margin_right = 8
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
self_modulate = Color(1, 1, 1, 0)
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="Inventory" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("3_sn6aa")]
unique_name_in_owner = true
layout_mode = 2
[node name="Title" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/Inventory" index="0"]
visible = true
theme_override_colors/font_color = Color(0.690196, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
text = "Hole Inventory"
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 5
[node name="LeaveButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
size_flags_horizontal = 4
text = "Leave"
[node name="Hole" type="Sprite2D" parent="."]
position = Vector2(160, 355)
texture = ExtResource("4_ldell")
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/LeaveButton" to="." method="_on_leave_button_pressed"]
[editable path="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/Inventory"]

View file

@ -0,0 +1,35 @@
extends Node2D
var rising = false
var growSpeed = 1.6
var riseSpeed = 80
var loiterRiseSpeed = 10
var fadeInSpeed = 1.1
var readyToLoiter = false
var loiterTimer = 1
func start_transition(itemSprite):
rising = true
%ItemSprite.texture = itemSprite
%ItemSprite.self_modulate.a = 0.1
$ItemSprite.scale = Vector2(0.1, 0.1)
func _process(delta):
if rising:
$ItemSprite.position -= Vector2(0, riseSpeed * delta)
$ItemSprite.scale += Vector2(growSpeed * delta, growSpeed * delta)
%ItemSprite.self_modulate.a += fadeInSpeed * delta
if %ItemSprite.self_modulate.a >= 1:
%ItemSprite.self_modulate.a = 1
readyToLoiter = true
rising = false
if readyToLoiter:
if loiterTimer > 0:
$ItemSprite.position -= Vector2(0, loiterRiseSpeed * delta)
loiterTimer -= delta
else:
queue_free()

View file

@ -0,0 +1,10 @@
[gd_scene load_steps=2 format=3 uid="uid://bpcx1h7fbjqxn"]
[ext_resource type="Script" path="res://UI/BeachHole/ItemRisingTransition.gd" id="1_qt0i6"]
[node name="ItemRisingTransition" type="Node2D"]
script = ExtResource("1_qt0i6")
[node name="ItemSprite" type="Sprite2D" parent="."]
unique_name_in_owner = true
scale = Vector2(2, 2)

View file

@ -0,0 +1,52 @@
extends Window
@onready var inventoryDisplayer = %InventoryDisplayer
var plannedItem = null
func _ready():
inventoryDisplayer.buttonPressed.connect(plan_item)
func opened():
get_tree().paused = true
reset_display()
func reset_display():
plannedItem = null
%ItemSprite.texture = null
%BridgeName.text = ""
%StageCount.text = ""
%SuccessRate.text = ""
%Gumption.text = ""
initialize_inventory()
func initialize_inventory():
var playerInventory = InventoryManager.get_inventory()
inventoryDisplayer.inventory = playerInventory
inventoryDisplayer.update_display()
func update_inventory():
inventoryDisplayer.update_display()
func plan_item(item):
plannedItem = item
%ItemSprite.texture = item.get_sprite()
%BridgeName.text = item.get_name() + " Dam"
%StageCount.text = "Stages: " + str(get_parent().get_stages_for_item(item))
%SuccessRate.text = "Success Rate: " + str(get_parent().get_success_chance(item)) + "%"
%Gumption.text = "Gumption: " + str(get_parent().get_gumption(item)) + " apples"
func _on_confirm_button_pressed():
if plannedItem != null:
get_parent().set_plan(plannedItem)
get_tree().paused = false
hide()
func _on_cancel_button_pressed():
get_tree().paused = false
hide()

View file

@ -0,0 +1,180 @@
[gd_scene load_steps=6 format=3 uid="uid://do0yyc8tr7wbh"]
[ext_resource type="Script" path="res://UI/Building/PlanningWindow.gd" id="1_dpjxq"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="2_lgogf"]
[ext_resource type="Texture2D" uid="uid://c3m2e2k7pa3al" path="res://Items/Foods/Fruits/Sprites/Apple.png" id="3_nxen7"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_b6tf6"]
bg_color = Color(0.709804, 0.411765, 0.133333, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[sub_resource type="FontVariation" id="FontVariation_c1kkd"]
spacing_bottom = -14
[node name="PlanningWindow" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
borderless = true
script = ExtResource("1_dpjxq")
[node name="PanelContainer" type="PanelContainer" parent="."]
custom_minimum_size = Vector2(600, 500)
offset_right = 40.0
offset_bottom = 40.0
theme_override_styles/panel = SubResource("StyleBoxFlat_b6tf6")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 13
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.321569, 0.478431, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
theme_override_font_sizes/font_size = 32
text = "Planning"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 14
theme_override_constants/margin_right = 14
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/separation = 14
[node name="InventoryDisplayer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("2_lgogf")]
unique_name_in_owner = true
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="ItemSprite" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
unique_name_in_owner = true
position = Vector2(144, 175)
scale = Vector2(2, 2)
texture = ExtResource("3_nxen7")
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
layout_mode = 2
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 0
theme_override_constants/margin_bottom = 10
[node name="VBoxContainer" type="VSplitContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer"]
layout_mode = 2
collapsed = true
dragger_visibility = 2
[node name="BridgeName" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.4
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 35
text = "_____ Bridge"
horizontal_alignment = 1
vertical_alignment = 2
autowrap_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 8
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 8
[node name="StageCount" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 35
text = "Stages: 1000"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="SuccessRate" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 23
text = "Success Rate: 100%"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="Gumption" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 23
text = "Gumption: 200 apples"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_left = 47
theme_override_constants/margin_right = 42
theme_override_constants/margin_bottom = 10
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
alignment = 1
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 0
theme_override_constants/margin_right = 45
[node name="ConfirmButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Confirm Plan"
[node name="CancelButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 8
text = "Cancel"
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer/ConfirmButton" to="." method="_on_confirm_button_pressed"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/CancelButton" to="." method="_on_cancel_button_pressed"]

View file

@ -0,0 +1,52 @@
extends Window
@onready var inventoryDisplayer = %InventoryDisplayer
var plannedItem = null
func _ready():
inventoryDisplayer.buttonPressed.connect(plan_item)
func opened():
get_tree().paused = true
reset_display()
func reset_display():
plannedItem = null
%ItemSprite.texture = null
%BridgeName.text = ""
%StageCount.text = ""
%SuccessRate.text = ""
%Gumption.text = ""
initialize_inventory()
func initialize_inventory():
var playerInventory = InventoryManager.get_inventory()
inventoryDisplayer.inventory = playerInventory
inventoryDisplayer.update_display()
func update_inventory():
inventoryDisplayer.update_display()
func plan_item(item):
plannedItem = item
%ItemSprite.texture = item.get_sprite()
%BridgeName.text = item.get_name() + "castle"
%StageCount.text = "Stages: " + str(get_parent().get_stages_for_item(item))
%SuccessRate.text = "Success Rate: " + str(get_parent().get_success_chance(item)) + "%"
%Gumption.text = "Gumption: " + str(get_parent().get_gumption(item)) + " apples"
func _on_confirm_button_pressed():
if plannedItem != null:
get_parent().set_plan(plannedItem)
get_tree().paused = false
hide()
func _on_cancel_button_pressed():
get_tree().paused = false
hide()

View file

@ -0,0 +1,180 @@
[gd_scene load_steps=6 format=3 uid="uid://b640j6bgsnyuq"]
[ext_resource type="Script" path="res://UI/Building/SandcastlePlanningWindow.gd" id="1_frob7"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="2_5q444"]
[ext_resource type="Texture2D" uid="uid://c3m2e2k7pa3al" path="res://Items/Foods/Fruits/Sprites/Apple.png" id="3_hc451"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_b6tf6"]
bg_color = Color(0.709804, 0.411765, 0.133333, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[sub_resource type="FontVariation" id="FontVariation_c1kkd"]
spacing_bottom = -14
[node name="PlanningWindow" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
borderless = true
script = ExtResource("1_frob7")
[node name="PanelContainer" type="PanelContainer" parent="."]
custom_minimum_size = Vector2(600, 500)
offset_right = 40.0
offset_bottom = 40.0
theme_override_styles/panel = SubResource("StyleBoxFlat_b6tf6")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 13
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.321569, 0.478431, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
theme_override_font_sizes/font_size = 32
text = "Planning"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 14
theme_override_constants/margin_right = 14
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/separation = 14
[node name="InventoryDisplayer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("2_5q444")]
unique_name_in_owner = true
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="ItemSprite" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
unique_name_in_owner = true
position = Vector2(144, 175)
scale = Vector2(2, 2)
texture = ExtResource("3_hc451")
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
layout_mode = 2
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 0
theme_override_constants/margin_bottom = 10
[node name="VBoxContainer" type="VSplitContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer"]
layout_mode = 2
collapsed = true
dragger_visibility = 2
[node name="BridgeName" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.4
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 35
text = "_____ Bridge"
horizontal_alignment = 1
vertical_alignment = 2
autowrap_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 8
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 8
[node name="StageCount" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 35
text = "Stages: 1000"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="SuccessRate" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 23
text = "Success Rate: 100%"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="Gumption" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 23
text = "Gumption: 200 apples"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_left = 47
theme_override_constants/margin_right = 42
theme_override_constants/margin_bottom = 10
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
alignment = 1
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 0
theme_override_constants/margin_right = 45
[node name="ConfirmButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Confirm Plan"
[node name="CancelButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 8
text = "Cancel"
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer/ConfirmButton" to="." method="_on_confirm_button_pressed"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/CancelButton" to="." method="_on_cancel_button_pressed"]

Binary file not shown.

After

Width:  |  Height:  |  Size: 743 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ybjw22l2qjl"
path="res://.godot/imported/ArrowButton.png-8478368f78833b0a8913ebae65477dde.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Buttons/PageButtons/ArrowButton.png"
dest_files=["res://.godot/imported/ArrowButton.png-8478368f78833b0a8913ebae65477dde.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: 740 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://4ixjq5r6y8n0"
path="res://.godot/imported/ArrowButtonDisabled.png-d7ef21b18b2723484753bb8496b1bc6c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Buttons/PageButtons/ArrowButtonDisabled.png"
dest_files=["res://.godot/imported/ArrowButtonDisabled.png-d7ef21b18b2723484753bb8496b1bc6c.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: 738 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cnevcodtkpw2y"
path="res://.godot/imported/ArrowButtonHover.png-86704b36271f6b56b76dc7ab4242b149.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Buttons/PageButtons/ArrowButtonHover.png"
dest_files=["res://.godot/imported/ArrowButtonHover.png-86704b36271f6b56b76dc7ab4242b149.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: 740 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dtttuxhsu68gd"
path="res://.godot/imported/ArrowButtonPressed.png-c846d04f8dad3377cd693ec68c507234.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Buttons/PageButtons/ArrowButtonPressed.png"
dest_files=["res://.godot/imported/ArrowButtonPressed.png-c846d04f8dad3377cd693ec68c507234.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: 47 KiB

View file

@ -0,0 +1,16 @@
[remap]
importer="bitmap"
type="BitMap"
uid="uid://dpgikue3pxt2v"
path="res://.godot/imported/ArrowClickMask.bmp-b49f4bb80d744c7d51d4822159070b9e.res"
[deps]
source_file="res://UI/Buttons/PageButtons/ArrowClickMask.bmp"
dest_files=["res://.godot/imported/ArrowClickMask.bmp-b49f4bb80d744c7d51d4822159070b9e.res"]
[params]
create_from=0
threshold=0.5

View file

@ -0,0 +1,14 @@
[gd_scene load_steps=6 format=3 uid="uid://bv25pnvc5mfkl"]
[ext_resource type="Texture2D" uid="uid://ybjw22l2qjl" path="res://UI/Buttons/PageButtons/ArrowButton.png" id="1_6kcv8"]
[ext_resource type="Texture2D" uid="uid://dtttuxhsu68gd" path="res://UI/Buttons/PageButtons/ArrowButtonPressed.png" id="2_gn1e8"]
[ext_resource type="Texture2D" uid="uid://cnevcodtkpw2y" path="res://UI/Buttons/PageButtons/ArrowButtonHover.png" id="3_3445q"]
[ext_resource type="Texture2D" uid="uid://4ixjq5r6y8n0" path="res://UI/Buttons/PageButtons/ArrowButtonDisabled.png" id="4_l4hff"]
[ext_resource type="BitMap" uid="uid://dpgikue3pxt2v" path="res://UI/Buttons/PageButtons/ArrowClickMask.bmp" id="5_eld7t"]
[node name="PageLeftButton" type="TextureButton"]
texture_normal = ExtResource("1_6kcv8")
texture_pressed = ExtResource("2_gn1e8")
texture_hover = ExtResource("3_3445q")
texture_disabled = ExtResource("4_l4hff")
texture_click_mask = ExtResource("5_eld7t")

View file

@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://dntmbosucrj4u"]
[ext_resource type="PackedScene" uid="uid://bv25pnvc5mfkl" path="res://UI/Buttons/PageButtons/PageLeftButton.tscn" id="1_llcn7"]
[node name="PageRightButton" instance=ExtResource("1_llcn7")]
flip_h = true

BIN
UI/Cleaning/Ant.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dvcvrdaqypycr"
path="res://.godot/imported/Ant.png-32bb5677c1fe726069223e984332e5a2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Cleaning/Ant.png"
dest_files=["res://.godot/imported/Ant.png-32bb5677c1fe726069223e984332e5a2.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

BIN
UI/Cleaning/Ant2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://oqrvoy2btk0u"
path="res://.godot/imported/Ant2.png-423f45c94a55c32a4180a0853b9b25a2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Cleaning/Ant2.png"
dest_files=["res://.godot/imported/Ant2.png-423f45c94a55c32a4180a0853b9b25a2.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,14 @@
extends CPUParticles2D
var returningAntsDelay = 0.9
func _process(delta):
if returningAntsDelay > 0:
returningAntsDelay -= delta
if returningAntsDelay <= 0:
var returningAnts = preload("res://UI/Cleaning/AntsReturning.tscn").instantiate()
returningAnts.emitting = true
add_sibling(returningAnts)
func _on_finished():
queue_free()

View file

@ -0,0 +1,33 @@
[gd_scene load_steps=5 format=3 uid="uid://dts1fgq6kxthf"]
[ext_resource type="Texture2D" uid="uid://dvcvrdaqypycr" path="res://UI/Cleaning/Ant.png" id="1_cmqw5"]
[ext_resource type="Texture2D" uid="uid://oqrvoy2btk0u" path="res://UI/Cleaning/Ant2.png" id="2_8rrx7"]
[ext_resource type="Script" path="res://UI/Cleaning/AntsLeaving.gd" id="3_mut4n"]
[sub_resource type="AnimatedTexture" id="AnimatedTexture_7imm2"]
frames = 2
frame_0/texture = ExtResource("1_cmqw5")
frame_0/duration = 0.2
frame_1/texture = ExtResource("2_8rrx7")
frame_1/duration = 0.2
[node name="AntsLeaving" type="CPUParticles2D"]
position = Vector2(440, 250)
emitting = false
amount = 40
one_shot = true
texture = SubResource("AnimatedTexture_7imm2")
emission_shape = 4
emission_points = PackedVector2Array(0, 0, -20, 0, -25, 0, 20, 0, 25, 0)
emission_colors = PackedColorArray(0, 0, 0, 1)
direction = Vector2(0, 1)
spread = 4.0
gravity = Vector2(0, 0)
initial_velocity_min = 130.0
initial_velocity_max = 130.0
color = Color(1, 0.2, 0.2, 1)
anim_speed_min = 3.0
anim_speed_max = 3.0
script = ExtResource("3_mut4n")
[connection signal="finished" from="." to="." method="_on_finished"]

View file

@ -0,0 +1,4 @@
extends CPUParticles2D
func _on_finished():
queue_free()

View file

@ -0,0 +1,34 @@
[gd_scene load_steps=5 format=3 uid="uid://dwpqwb2y3ol2o"]
[ext_resource type="Texture2D" uid="uid://dvcvrdaqypycr" path="res://UI/Cleaning/Ant.png" id="1_1cpey"]
[ext_resource type="Texture2D" uid="uid://oqrvoy2btk0u" path="res://UI/Cleaning/Ant2.png" id="2_8yf31"]
[ext_resource type="Script" path="res://UI/Cleaning/AntsReturning.gd" id="3_e8s6y"]
[sub_resource type="AnimatedTexture" id="AnimatedTexture_t7was"]
frames = 2
frame_0/texture = ExtResource("1_1cpey")
frame_0/duration = 0.2
frame_1/texture = ExtResource("2_8yf31")
frame_1/duration = 0.2
[node name="AntsReturning" type="CPUParticles2D"]
position = Vector2(440, 250)
emitting = false
amount = 40
lifetime = 1.05
one_shot = true
texture = SubResource("AnimatedTexture_t7was")
emission_shape = 4
emission_points = PackedVector2Array(0, 140, -20, 140, -25, 140, 20, 140, 25, 140)
emission_colors = PackedColorArray()
direction = Vector2(0, -1)
spread = 4.0
gravity = Vector2(0, 0)
initial_velocity_min = 130.0
initial_velocity_max = 130.0
color = Color(1, 0.2, 0.2, 1)
anim_speed_min = 3.0
anim_speed_max = 3.0
script = ExtResource("3_e8s6y")
[connection signal="finished" from="." to="." method="_on_finished"]

View file

@ -0,0 +1,78 @@
extends Window
@onready var inventoryItemDisplayer = %Inventory
var itemTransitionScene = preload("res://UI/Sugaring/ItemFadeTransition.tscn")
var playerInventory:Inventory
func _ready():
inventoryItemDisplayer.fiveButtons = true
inventoryItemDisplayer.allButtons = true
inventoryItemDisplayer.buttonPressed.connect(clean_item)
inventoryItemDisplayer.fiveButtonPressed.connect(clean_item.bind(5))
inventoryItemDisplayer.allButtonPressed.connect(clean_item.bind(999999))
inventoryItemDisplayer.set_title("Modified Items")
func opened():
get_tree().paused = true
playerInventory = InventoryManager.get_inventory()
inventoryItemDisplayer.inventory = filter_inventory(playerInventory)
inventoryItemDisplayer.update_display()
func clean_item(item:Item, quantity:int = 1):
var itemsInInv = InventoryManager.get_item_count(item)
if itemsInInv < quantity:
quantity = itemsInInv
InventoryManager.remove_item_from_inventory(item, quantity)
var cleanedItem:Item = item.duplicate()
cleanedItem.itemModifications = []
InventoryManager.add_item_to_inventory(cleanedItem, quantity)
spawn_item_transition(item, cleanedItem)
inventoryItemDisplayer.inventory = filter_inventory(playerInventory)
inventoryItemDisplayer.update_display()
func spawn_item_transition(startItem, cleanedItem):
var itemTransition = itemTransitionScene.instantiate()
itemTransition.start_transition(startItem.get_sprite(), cleanedItem.get_sprite())
if Item.modifications.Concentrated in cleanedItem.itemModifications:
itemTransition.transDuration = 0.2
itemTransition.finalMomentsDuration = 2
else:
itemTransition.finalMomentsDuration = 1
var antsLeaving = preload("res://UI/Cleaning/AntsLeaving.tscn").instantiate()
antsLeaving.emitting = true
add_child(antsLeaving)
add_child(itemTransition)
itemTransition.scale = Vector2(2, 2)
itemTransition.position = Vector2(440, 380)
func filter_inventory(inventory):
var filteredInv:Inventory = inventory.duplicate()
var i = filteredInv.items.size() - 1
while i >= 0:
var currentItem = filteredInv.items[i]
var keepItem = false
if currentItem.itemModifications.size() > 0:
keepItem = true
if !keepItem:
filteredInv.remove_item(currentItem, filteredInv.quantities[i])
i -= 1
return filteredInv
func _on_leave_button_pressed():
get_tree().paused = false
hide()

View file

@ -0,0 +1,79 @@
[gd_scene load_steps=6 format=3 uid="uid://7jnt7eg1d70y"]
[ext_resource type="Theme" uid="uid://dkofjwlcf80gp" path="res://UI/Themes/InteractionPopupTheme.tres" id="1_88o8l"]
[ext_resource type="Script" path="res://UI/Cleaning/CleaningMenu.gd" id="2_nm4wy"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="3_fll61"]
[ext_resource type="Texture2D" uid="uid://y5nogv4b31b" path="res://Objects/Beach/Anthill/Anthill.png" id="4_4r3jr"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_c7aq3"]
bg_color = Color(0.988235, 0.85098, 0.721569, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 19
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[node name="CleaningMenu" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
unresizable = true
borderless = true
theme = ExtResource("1_88o8l")
script = ExtResource("2_nm4wy")
[node name="PanelContainer" type="PanelContainer" parent="."]
offset_right = 590.0
offset_bottom = 8.0
theme_override_styles/panel = SubResource("StyleBoxFlat_c7aq3")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
custom_minimum_size = Vector2(590, 490)
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/separation = 11
[node name="CleanerName" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.701961, 0.929412, 0.694118, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 9
theme_override_font_sizes/font_size = 32
text = "Ant Dry Cleaning"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 8
theme_override_constants/margin_right = 8
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="Inventory" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("3_fll61")]
unique_name_in_owner = true
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 5
[node name="LeaveButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
size_flags_horizontal = 4
text = "Leave"
[node name="Anthill" type="Sprite2D" parent="."]
position = Vector2(443, 300)
scale = Vector2(2, 2)
texture = ExtResource("4_4r3jr")
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/LeaveButton" to="." method="_on_leave_button_pressed"]

4
UI/Credits/Credits.gd Normal file
View file

@ -0,0 +1,4 @@
extends PopupPanel
func _on_close_button_pressed():
hide()

220
UI/Credits/Credits.tscn Normal file
View file

@ -0,0 +1,220 @@
[gd_scene load_steps=3 format=3 uid="uid://b46o5ib4aqykn"]
[ext_resource type="Script" path="res://UI/Credits/Credits.gd" id="1_yyf5c"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_44lbr"]
bg_color = Color(0.823529, 0.85098, 0.996078, 1)
border_width_left = 6
border_width_top = 6
border_width_right = 6
border_width_bottom = 6
border_color = Color(0, 0, 0, 1)
[node name="CreditsPopup" type="PopupPanel"]
size = Vector2i(500, 400)
visible = true
theme_override_styles/panel = SubResource("StyleBoxFlat_44lbr")
script = ExtResource("1_yyf5c")
[node name="MarginContainer" type="MarginContainer" parent="."]
offset_left = 6.0
offset_top = 6.0
offset_right = 494.0
offset_bottom = 394.0
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 2
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 4
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
layout_mode = 2
[node name="TitleLabel" type="Label" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 14
theme_override_font_sizes/font_size = 38
text = "Credits"
horizontal_alignment = 1
vertical_alignment = 2
[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="MorbidName" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0.803922, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 2
theme_override_font_sizes/font_size = 26
text = "politepigeon aka morbidmollusc"
horizontal_alignment = 1
autowrap_mode = 2
[node name="MorbidAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 23
text = "Concepts, Artwork & Animations,
Dialogue, and Playtesting "
horizontal_alignment = 1
autowrap_mode = 2
[node name="JacoName" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.882353, 0.745098, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 2
theme_override_font_sizes/font_size = 26
text = "Jaco"
horizontal_alignment = 1
autowrap_mode = 2
[node name="JacoAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 23
text = "Game Delivery Manager
Beesley"
horizontal_alignment = 1
autowrap_mode = 2
[node name="VinceName" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.639216, 0, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 2
theme_override_font_sizes/font_size = 26
text = "Vince Alan"
horizontal_alignment = 1
autowrap_mode = 2
[node name="VinceAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 23
text = "Music and Sound Effects"
horizontal_alignment = 1
autowrap_mode = 2
[node name="Ellie" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.988235, 0.6, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 2
theme_override_font_sizes/font_size = 26
text = "Ellie Kellie"
horizontal_alignment = 1
autowrap_mode = 2
[node name="EllieAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 23
text = "Lead Gender Consultant"
horizontal_alignment = 1
autowrap_mode = 2
[node name="EllieBot" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.988235, 0.6, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 2
theme_override_font_sizes/font_size = 26
text = "Ellie Kellie Bot"
horizontal_alignment = 1
autowrap_mode = 2
[node name="EllieBotAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 23
text = "Additional Gender Consultantcy"
horizontal_alignment = 1
autowrap_mode = 2
[node name="Kristyn" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.811765, 0, 0.901961, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 2
theme_override_font_sizes/font_size = 26
text = "Kristyn"
horizontal_alignment = 1
autowrap_mode = 2
[node name="KristynAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 23
text = "Correct Kau"
horizontal_alignment = 1
autowrap_mode = 2
[node name="Kusabii" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.301961, 0.854902, 0.0352941, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 2
theme_override_font_sizes/font_size = 26
text = "Kusabii"
horizontal_alignment = 1
autowrap_mode = 2
[node name="KusabiiAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 23
text = "Palm Tree Art"
horizontal_alignment = 1
autowrap_mode = 2
[node name="Bee" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.811765, 0, 0.901961, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 2
theme_override_font_sizes/font_size = 26
text = "Bee"
horizontal_alignment = 1
autowrap_mode = 2
[node name="BeeAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 23
text = "Programming, Art
Game Design"
horizontal_alignment = 1
autowrap_mode = 2
[node name="SpecialThanks" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.298039, 0.721569, 0.423529, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 2
theme_override_font_sizes/font_size = 26
text = "Special Thanks"
horizontal_alignment = 1
autowrap_mode = 2
[node name="SpeciallyThanked" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 23
text = "Salman, Ellie Bot"
horizontal_alignment = 1
autowrap_mode = 2
[node name="CloseButton" type="Button" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 4
text = "Close"
[connection signal="pressed" from="MarginContainer/VBoxContainer/CloseButton" to="." method="_on_close_button_pressed"]

88
UI/Drying/DryingMenu.gd Normal file
View file

@ -0,0 +1,88 @@
extends Window
@onready var inventoryItemDisplayer = %Inventory
var itemTransitionScene = preload("res://UI/Sugaring/ItemFadeTransition.tscn")
var dryingAnimPositions = []
var dryingAnimPosIndex = 0
var playerInventory:Inventory
func _ready():
dryingAnimPositions.append(Vector2(380, 325))
dryingAnimPositions.append(Vector2(515, 335))
dryingAnimPositions.append(Vector2(450, 345))
inventoryItemDisplayer.fiveButtons = true
inventoryItemDisplayer.allButtons = true
inventoryItemDisplayer.buttonPressed.connect(dry_item)
inventoryItemDisplayer.fiveButtonPressed.connect(dry_item.bind(5))
inventoryItemDisplayer.allButtonPressed.connect(dry_item.bind(999999))
inventoryItemDisplayer.set_title("Wet Items")
func opened():
get_tree().paused = true
playerInventory = InventoryManager.get_inventory()
inventoryItemDisplayer.inventory = filter_inventory(playerInventory)
inventoryItemDisplayer.update_display()
func dry_item(item, quantity:int = 1):
var itemsInInv = InventoryManager.get_item_count(item)
if itemsInInv < quantity:
quantity = itemsInInv
InventoryManager.remove_item_from_inventory(item, quantity)
var dryItem = ItemDrying.sun_dry_item(item)
InventoryManager.add_item_to_inventory(dryItem, quantity)
spawn_item_transition(item, dryItem)
inventoryItemDisplayer.inventory = filter_inventory(playerInventory)
inventoryItemDisplayer.update_display()
func spawn_item_transition(startItem, driedItem):
var itemTransition = itemTransitionScene.instantiate()
itemTransition.start_transition(startItem.get_sprite(), driedItem.get_sprite())
if Item.modifications.Concentrated in driedItem.itemModifications:
itemTransition.transDuration = 0.2
itemTransition.finalMomentsDuration = 2
else:
itemTransition.finalMomentsDuration = 1
add_child(itemTransition)
itemTransition.scale = Vector2(2, 2)
itemTransition.position = dryingAnimPositions[dryingAnimPosIndex]
dryingAnimPosIndex += 1
if dryingAnimPosIndex >= dryingAnimPositions.size():
dryingAnimPosIndex = 0
func filter_inventory(inventory):
var filteredInv:Inventory = inventory.duplicate()
var i = filteredInv.items.size() - 1
while i >= 0:
var currentItem = filteredInv.items[i]
var keepItem = false
if Item.modifications.Wet in currentItem.itemModifications:
keepItem = true
elif Item.types.Juice in currentItem.itemTypes:
if not Item.modifications.Concentrated in currentItem.itemModifications:
keepItem = true
elif currentItem.get_name(false) == "Grape":
keepItem = true
if !keepItem:
filteredInv.remove_item(currentItem, filteredInv.quantities[i])
i -= 1
return filteredInv
func _on_leave_button_pressed():
get_tree().paused = false
hide()

101
UI/Drying/DryingMenu.tscn Normal file
View file

@ -0,0 +1,101 @@
[gd_scene load_steps=10 format=3 uid="uid://bmse1b3qcae7m"]
[ext_resource type="Theme" uid="uid://dkofjwlcf80gp" path="res://UI/Themes/InteractionPopupTheme.tres" id="1_up8s2"]
[ext_resource type="Script" path="res://UI/Drying/DryingMenu.gd" id="2_bvakk"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="3_kla7o"]
[ext_resource type="Texture2D" uid="uid://cn2qexqrtgngh" path="res://Objects/Beach/SunningRock/SunningRock.png" id="4_xhpsp"]
[ext_resource type="Texture2D" uid="uid://bxc6pq2t60a6g" path="res://UI/Drying/Sun/Sun1.png" id="5_c43w7"]
[ext_resource type="Texture2D" uid="uid://bqltoj0trnw3d" path="res://UI/Drying/Sun/Sun2.png" id="6_7ixof"]
[ext_resource type="Script" path="res://Utils/PlayOnReady.gd" id="7_dh0s4"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_p28hs"]
bg_color = Color(0.815686, 0.886275, 0.976471, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 19
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[sub_resource type="SpriteFrames" id="SpriteFrames_xej4q"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("5_c43w7")
}, {
"duration": 1.0,
"texture": ExtResource("6_7ixof")
}],
"loop": true,
"name": &"default",
"speed": 2.0
}]
[node name="DryingMenu" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
unresizable = true
borderless = true
theme = ExtResource("1_up8s2")
script = ExtResource("2_bvakk")
[node name="PanelContainer" type="PanelContainer" parent="."]
offset_right = 590.0
offset_bottom = 8.0
theme_override_styles/panel = SubResource("StyleBoxFlat_p28hs")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
custom_minimum_size = Vector2(590, 490)
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/separation = 11
[node name="DryerName" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(1, 0.819608, 0.690196, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 9
theme_override_font_sizes/font_size = 32
text = "Sunning Rock"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 8
theme_override_constants/margin_right = 8
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="Inventory" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("3_kla7o")]
unique_name_in_owner = true
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 5
[node name="LeaveButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
size_flags_horizontal = 4
text = "Leave"
[node name="SunningRock" type="Sprite2D" parent="."]
position = Vector2(443, 380)
texture = ExtResource("4_xhpsp")
[node name="Sun" type="AnimatedSprite2D" parent="."]
position = Vector2(440, 135)
sprite_frames = SubResource("SpriteFrames_xej4q")
frame_progress = 0.501922
script = ExtResource("7_dh0s4")
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/LeaveButton" to="." method="_on_leave_button_pressed"]

BIN
UI/Drying/Sun/Sun1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bxc6pq2t60a6g"
path="res://.godot/imported/Sun1.png-537e54b583353488d771be9fcdb1eb3d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Drying/Sun/Sun1.png"
dest_files=["res://.godot/imported/Sun1.png-537e54b583353488d771be9fcdb1eb3d.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

BIN
UI/Drying/Sun/Sun2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqltoj0trnw3d"
path="res://.godot/imported/Sun2.png-a4d7900f71f53e9be2ac4c32250e8c24.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Drying/Sun/Sun2.png"
dest_files=["res://.godot/imported/Sun2.png-a4d7900f71f53e9be2ac4c32250e8c24.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,49 @@
extends Control
signal close
var xpMultipliers = [0, 0.25, 0.5, 1, 1.5, 2, 5]
func _ready():
initialize_options()
func initialize_options():
#Xp Multiplier
var savedXpMult = SaveManager.get_save_value("xpMult", 1)
var sliderPos = 3
for i in range(xpMultipliers.size()):
var currentMult = xpMultipliers[i]
if currentMult == savedXpMult:
sliderPos = i
break
%XPSlider.value = sliderPos
update_xp_multiplier_label(%XPSlider.value)
#Level checks disable
var levelChecksDisabled = SaveManager.get_save_value("disableQuestLevelChecks", false)
update_quest_level_requirements_toggle(levelChecksDisabled)
func update_xp_multiplier_label(sliderPos):
var labelText = "XP Multiplier: "
labelText += str(xpMultipliers[sliderPos])
labelText += "x"
%XPMultiplier.text = labelText
func update_quest_level_requirements_toggle(toggled):
%QuestLevelChecks.button_pressed = toggled
func _on_xp_slider_drag_ended(value_changed):
update_xp_multiplier_label(%XPSlider.value)
SaveManager.set_save_value("xpMult", xpMultipliers[%XPSlider.value])
func _on_quest_level_checks_toggled(toggled_on):
SaveManager.set_save_value("disableQuestLevelChecks", toggled_on)
func _on_close_button_pressed():
close.emit()
func _on_xp_slider_value_changed(value):
update_xp_multiplier_label(value)

View file

@ -0,0 +1,88 @@
[gd_scene load_steps=3 format=3 uid="uid://cjc888f2cc6yj"]
[ext_resource type="Script" path="res://UI/EscapeMenu/AssistMenu/AssistMenu.gd" id="1_3rj4w"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_i2vwi"]
bg_color = Color(0.188235, 0.188235, 0.188235, 1)
[node name="AssistMenu" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_3rj4w")
[node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -250.0
offset_top = -137.5
offset_right = 260.0
offset_bottom = 137.5
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_i2vwi")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 14
[node name="MenuName" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 36
text = "Assist Menu"
horizontal_alignment = 1
vertical_alignment = 1
[node name="XPMultiplier" type="Label" parent="PanelContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 30
text = "XP Multiplier: 1x"
horizontal_alignment = 1
[node name="XPSlider" type="HSlider" parent="PanelContainer/VBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(350, 0)
layout_mode = 2
size_flags_horizontal = 4
max_value = 6.0
value = 3.0
tick_count = 7
ticks_on_borders = true
[node name="HSplitContainer" type="HFlowContainer" parent="PanelContainer/VBoxContainer"]
custom_minimum_size = Vector2(470, 0)
layout_mode = 2
size_flags_horizontal = 4
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/HSplitContainer"]
layout_mode = 2
size_flags_horizontal = 6
theme_override_font_sizes/font_size = 18
text = "Disable quest and swimming level requirements"
horizontal_alignment = 1
vertical_alignment = 1
[node name="QuestLevelChecks" type="CheckBox" parent="PanelContainer/VBoxContainer/HSplitContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
size_flags_horizontal = 2
[node name="CloseButton" type="Button" parent="PanelContainer/VBoxContainer"]
custom_minimum_size = Vector2(80, 0)
layout_mode = 2
size_flags_horizontal = 4
text = "Close"
[connection signal="drag_ended" from="PanelContainer/VBoxContainer/XPSlider" to="." method="_on_xp_slider_drag_ended"]
[connection signal="value_changed" from="PanelContainer/VBoxContainer/XPSlider" to="." method="_on_xp_slider_value_changed"]
[connection signal="toggled" from="PanelContainer/VBoxContainer/HSplitContainer/QuestLevelChecks" to="." method="_on_quest_level_checks_toggled"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/CloseButton" to="." method="_on_close_button_pressed"]

View file

@ -0,0 +1,32 @@
extends Control
func _ready():
if OS.get_name() == "Web":
%SaveAndQuit.visible = false
func _process(delta):
if Input.is_action_just_pressed("Esc"):
visible = !visible
func save():
SaveManager.save_game(true)
func _on_return_to_game_pressed():
visible = false
func _on_save_and_menu_pressed():
save()
GameVariables.return_to_main_menu()
get_tree().change_scene_to_file("res://UI/MainMenu/MainMenu.tscn")
func _on_save_and_quit_pressed():
save()
get_tree().quit()
func _on_assist_pressed():
$AssistMenu.visible = true
$EscapeMenuButtons.visible = false
func _on_assist_menu_close():
$AssistMenu.visible = false
$EscapeMenuButtons.visible = true

View file

@ -0,0 +1,105 @@
[gd_scene load_steps=7 format=3 uid="uid://c5c58u64opilf"]
[ext_resource type="Script" path="res://UI/EscapeMenu/EscapeMenu.gd" id="1_yglqe"]
[ext_resource type="PackedScene" uid="uid://cjc888f2cc6yj" path="res://UI/EscapeMenu/AssistMenu/AssistMenu.tscn" id="2_qu4qt"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_titty"]
content_margin_left = 4.0
content_margin_top = 4.0
content_margin_right = 4.0
content_margin_bottom = 4.0
bg_color = Color(0.223529, 0.223529, 0.223529, 1)
corner_radius_top_left = 3
corner_radius_top_right = 3
corner_radius_bottom_right = 3
corner_radius_bottom_left = 3
corner_detail = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fwiss"]
content_margin_left = 4.0
content_margin_top = 4.0
content_margin_right = 4.0
content_margin_bottom = 4.0
bg_color = Color(0.101961, 0.101961, 0.101961, 1)
corner_radius_top_left = 3
corner_radius_top_right = 3
corner_radius_bottom_right = 3
corner_radius_bottom_left = 3
corner_detail = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_m07n0"]
content_margin_left = 4.0
content_margin_top = 4.0
content_margin_right = 4.0
content_margin_bottom = 4.0
bg_color = Color(0, 0, 0, 1)
corner_radius_top_left = 3
corner_radius_top_right = 3
corner_radius_bottom_right = 3
corner_radius_bottom_left = 3
corner_detail = 5
[sub_resource type="Theme" id="Theme_pp1q1"]
Button/styles/hover = SubResource("StyleBoxFlat_titty")
Button/styles/normal = SubResource("StyleBoxFlat_fwiss")
Button/styles/pressed = SubResource("StyleBoxFlat_m07n0")
[node name="EscapeMenu" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_yglqe")
[node name="EscapeMenuButtons" type="VBoxContainer" parent="."]
unique_name_in_owner = true
custom_minimum_size = Vector2(350, 300)
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.0
offset_top = -20.0
offset_right = 20.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
theme = SubResource("Theme_pp1q1")
theme_override_constants/separation = 12
alignment = 1
[node name="Assist" type="Button" parent="EscapeMenuButtons"]
layout_mode = 2
theme_override_font_sizes/font_size = 22
text = "Assist Menu"
[node name="SaveAndQuit" type="Button" parent="EscapeMenuButtons"]
unique_name_in_owner = true
layout_mode = 2
theme_override_font_sizes/font_size = 22
text = "Save and Quit"
[node name="SaveAndMenu" type="Button" parent="EscapeMenuButtons"]
layout_mode = 2
theme_override_font_sizes/font_size = 22
text = "Save and Quit to Main Menu"
[node name="ReturnToGame" type="Button" parent="EscapeMenuButtons"]
layout_mode = 2
theme_override_font_sizes/font_size = 22
text = "Resume Game
"
[node name="AssistMenu" parent="." instance=ExtResource("2_qu4qt")]
visible = false
layout_mode = 1
[connection signal="pressed" from="EscapeMenuButtons/Assist" to="." method="_on_assist_pressed"]
[connection signal="pressed" from="EscapeMenuButtons/SaveAndQuit" to="." method="_on_save_and_quit_pressed"]
[connection signal="pressed" from="EscapeMenuButtons/SaveAndMenu" to="." method="_on_save_and_menu_pressed"]
[connection signal="pressed" from="EscapeMenuButtons/ReturnToGame" to="." method="_on_return_to_game_pressed"]
[connection signal="close" from="AssistMenu" to="." method="_on_assist_menu_close"]

View file

@ -0,0 +1,23 @@
extends PanelContainer
var showTime = 2.5
var totalFadeTime = 0.65
var fadeTimer = 0.65
func _process(delta):
if showTime <= 0:
fadeTimer -= delta
modulate.a = fadeTimer/totalFadeTime
if fadeTimer <= 0:
MessageManager.item_popup_done()
queue_free()
else:
showTime -= delta
func set_item(item):
%ItemSprite.texture = item.get_sprite()
%Message.text = "You got a " + item.itemName

View file

@ -0,0 +1,66 @@
[gd_scene load_steps=4 format=3 uid="uid://np6lbq86x6hd"]
[ext_resource type="Texture2D" uid="uid://c3m2e2k7pa3al" path="res://Items/Foods/Fruits/Sprites/Apple.png" id="1_m6p5t"]
[ext_resource type="Script" path="res://UI/EventPopups/ItemPickupPopup.gd" id="1_utng7"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_nmmge"]
bg_color = Color(0.596078, 0.721569, 0.929412, 1)
border_width_left = 6
border_width_top = 6
border_width_right = 6
border_width_bottom = 6
border_color = Color(0, 0, 0, 1)
[node name="ItemPickupPopup" type="PanelContainer"]
process_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 309.0
offset_top = 23.0
offset_right = -296.0
offset_bottom = -514.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_nmmge")
script = ExtResource("1_utng7")
[node name="HSplitContainer" type="HSplitContainer" parent="."]
layout_mode = 2
collapsed = true
dragger_visibility = 2
[node name="ItemSprite" type="TextureRect" parent="HSplitContainer"]
unique_name_in_owner = true
layout_mode = 2
texture = ExtResource("1_m6p5t")
expand_mode = 2
stretch_mode = 3
[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer"]
layout_mode = 2
theme_override_constants/separation = 0
[node name="Label" type="Label" parent="HSplitContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_constants/line_spacing = 0
theme_override_font_sizes/font_size = 19
text = "Item Get!"
horizontal_alignment = 1
vertical_alignment = 2
[node name="Message" type="Label" parent="HSplitContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
theme_override_colors/font_color = Color(0.831373, 0, 0.498039, 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/line_spacing = 0
theme_override_font_sizes/font_size = 18
text = "You got a Cucumber"
horizontal_alignment = 1
autowrap_mode = 2

View file

@ -0,0 +1,41 @@
extends PanelContainer
var showTime = 3
var totalFadeTime = 1
var fadeTimer = 1
var maxLevelPopup = false
var secretSkillPopup = false
func _process(delta):
if showTime <= 0:
fadeTimer -= delta
modulate.a = fadeTimer/totalFadeTime
if fadeTimer <= 0:
MessageManager.levelup_popup_done()
queue_free()
else:
showTime -= delta
func secret_skill(skill):
%SkillIcon.texture = skill.get_icon()
%SkillName.text = "You have unlocked the Secret Skill"
%Level.text = skill.skillName + "!"
secretSkillPopup = true
showTime = 10
func max_level():
%SkillIcon.texture = load("res://UI/MenuBar/Icons/skillsIcon.png")
%SkillName.text = "Your skills have all increased to the"
%Level.text = "MAXIMUM LEVEL!!!"
maxLevelPopup = true
showTime = 10
func set_skill(skill):
%SkillIcon.texture = skill.get_icon()
%SkillName.text = "Your " + skill.skillName + " increased to"
%Level.text = "Level " + str(skill.currentLevel)

View file

@ -0,0 +1,88 @@
[gd_scene load_steps=4 format=3 uid="uid://qynm4xskjj5x"]
[ext_resource type="Texture2D" uid="uid://d30v7gk31mcms" path="res://Skills/Scavenging/scavengingIcon2.png" id="1_2rwic"]
[ext_resource type="Script" path="res://UI/EventPopups/levelup_popup.gd" id="1_nau6t"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_wblss"]
[node name="LevelupPopup" type="PanelContainer"]
process_mode = 3
anchors_preset = 10
anchor_right = 1.0
offset_left = 1.0
offset_top = 4.0
offset_right = 1.0
offset_bottom = 331.0
grow_horizontal = 2
size_flags_horizontal = 3
mouse_filter = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_wblss")
script = ExtResource("1_nau6t")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 2
size_flags_horizontal = 6
mouse_filter = 2
theme_override_constants/separation = -15
[node name="SkillIcon" type="TextureRect" parent="VBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(100, 100)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 0
mouse_filter = 2
texture = ExtResource("1_2rwic")
expand_mode = 5
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = -6
[node name="Label" type="Label" parent="VBoxContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 1
theme_override_colors/font_color = Color(0, 0.862745, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 20
theme_override_font_sizes/font_size = 69
text = "Level Up!"
horizontal_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/VBoxContainer"]
layout_mode = 2
mouse_filter = 2
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
theme_override_constants/separation = 0
alignment = 1
[node name="SkillName" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
theme_override_colors/font_color = Color(0.831373, 0, 0.498039, 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 = 7
theme_override_constants/line_spacing = 0
theme_override_font_sizes/font_size = 27
text = "Your Juice Drinking increased to "
horizontal_alignment = 1
vertical_alignment = 2
[node name="Level" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
theme_override_colors/font_color = Color(0.831373, 0, 0.498039, 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 = 19
theme_override_constants/line_spacing = 0
theme_override_font_sizes/font_size = 48
text = "16"
horizontal_alignment = 1

BIN
UI/Gardening/Dirt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 944 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dvk3ji5tr2sl5"
path="res://.godot/imported/Dirt.png-f72663be8e16a754c2cf1b71e357ea3e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Gardening/Dirt.png"
dest_files=["res://.godot/imported/Dirt.png-f72663be8e16a754c2cf1b71e357ea3e.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,96 @@
extends Window
@onready var inventoryDisplayer = %InventoryDisplayer
var itemPlanted = null
func _ready():
inventoryDisplayer.buttonPressed.connect(add_ash)
func opened():
get_tree().paused = true
reset_display()
func _process(delta):
if visible:
update_time_to_growth()
func reset_display():
itemPlanted = get_parent().currentItem
%ItemSprite.texture = itemPlanted.get_sprite()
%PlantedItemName.text = itemPlanted.get_name()
update_harvest_lives()
update_time_to_growth()
initialize_inventory()
func add_ash(ashItem):
InventoryManager.remove_item_from_inventory(ashItem)
var bonusLives = get_bonus_lives(ashItem)
if bonusLives > 0:
get_parent().add_plant_lives(bonusLives)
update_harvest_lives()
var timeBoost = get_time_boost(ashItem)
get_parent().add_time_boosted(timeBoost)
update_inventory()
func update_harvest_lives():
%HarvestBoost.text = "Harvest Boost: " + str(get_parent().plantLives) + "x"
func update_time_to_growth():
var timeToGrowth = floor(get_parent().get_time_to_next_state_change())
var timeString = TimeDisplayUtils.get_time_string(timeToGrowth)
%GrowthTime.text = "Growth Time:\n" + timeString
func get_time_boost(ashItem):
var timeBoost = 10
timeBoost += ashItem.get_edibility() * 1.2
timeBoost = ceil(timeBoost)
if timeBoost < 0:
timeBoost = 0
return timeBoost
func get_bonus_lives(ashItem):
var bonusLives = 0
var ashName = ashItem.get_name(false)
ashName = ashName.substr(0, ashName.length() - 4)
if ashName in itemPlanted.get_name(false):
bonusLives = 1
return bonusLives
func initialize_inventory():
var playerInventory = InventoryManager.get_inventory()
inventoryDisplayer.inventory = filter_inventory(playerInventory)
inventoryDisplayer.update_display()
inventoryDisplayer.set_title("Ash Items")
func update_inventory():
var playerInventory = InventoryManager.get_inventory()
inventoryDisplayer.inventory = filter_inventory(playerInventory)
inventoryDisplayer.update_display()
func filter_inventory(inventory):
var filteredInv:Inventory = Inventory.new()
var i = inventory.items.size() - 1
while i >= 0:
var currentItem = inventory.items[i]
if Item.types.Ash in currentItem.itemTypes:
filteredInv.add_item(currentItem.duplicate(), inventory.quantities[i])
i -= 1
return filteredInv
func _on_leave_button_pressed():
get_tree().paused = false
hide()

View file

@ -0,0 +1,159 @@
[gd_scene load_steps=7 format=3 uid="uid://c5ov4p0febsqt"]
[ext_resource type="Script" path="res://UI/Gardening/FertilizingWindow.gd" id="1_vkojs"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="2_h4qds"]
[ext_resource type="Texture2D" uid="uid://c3m2e2k7pa3al" path="res://Items/Foods/Fruits/Sprites/Apple.png" id="3_hbpcl"]
[ext_resource type="Texture2D" uid="uid://dvk3ji5tr2sl5" path="res://UI/Gardening/Dirt.png" id="4_fjhuc"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qbknj"]
bg_color = Color(0.278431, 0.298039, 0.145098, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[sub_resource type="FontVariation" id="FontVariation_c1kkd"]
spacing_bottom = -14
[node name="FertilizingWindow" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
borderless = true
script = ExtResource("1_vkojs")
[node name="PanelContainer" type="PanelContainer" parent="."]
custom_minimum_size = Vector2(600, 500)
offset_right = 40.0
offset_bottom = 40.0
theme_override_styles/panel = SubResource("StyleBoxFlat_qbknj")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 13
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.392157, 0.827451, 0.239216, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
theme_override_font_sizes/font_size = 32
text = "Fertilizing"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 14
theme_override_constants/margin_right = 14
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/separation = 14
[node name="InventoryDisplayer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("2_h4qds")]
unique_name_in_owner = true
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="ItemSprite" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
unique_name_in_owner = true
position = Vector2(144, 175)
scale = Vector2(2, 2)
texture = ExtResource("3_hbpcl")
[node name="DirtSprite" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
unique_name_in_owner = true
position = Vector2(138, 281)
scale = Vector2(1, 1.1)
texture = ExtResource("4_fjhuc")
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
layout_mode = 2
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 0
theme_override_constants/margin_bottom = 10
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 6
[node name="PlantedItemName" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 0
size_flags_stretch_ratio = 0.4
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 35
text = "Plant Name"
horizontal_alignment = 1
vertical_alignment = 2
autowrap_mode = 2
[node name="HarvestBoost" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.4
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 25
text = "Harvest Boost: 1x"
horizontal_alignment = 1
vertical_alignment = 2
autowrap_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 8
[node name="GrowthTime" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 35
text = "Growth Time: 20 mins"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_left = 47
theme_override_constants/margin_right = 42
theme_override_constants/margin_bottom = 10
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
alignment = 1
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 40
theme_override_constants/margin_right = 40
[node name="LeaveButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Leave"
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer/LeaveButton" to="." method="_on_leave_button_pressed"]

View file

@ -0,0 +1,50 @@
extends Window
@onready var inventoryDisplayer = %InventoryDisplayer
var itemToPlant = null
func _ready():
inventoryDisplayer.buttonPressed.connect(plant_item)
func opened():
get_tree().paused = true
reset_display()
func reset_display():
itemToPlant = null
%ItemSprite.texture = null
%PlantedItemName.text = ""
%GrowthTime.text = ""
initialize_inventory()
func initialize_inventory():
var playerInventory = InventoryManager.get_inventory()
inventoryDisplayer.inventory = playerInventory
inventoryDisplayer.update_display()
func update_inventory():
inventoryDisplayer.update_display()
func plant_item(item):
itemToPlant = item
%ItemSprite.texture = item.get_sprite()
%PlantedItemName.text = item.get_name()
var growthTime = get_parent().get_growth_time(item)
%GrowthTime.text = "Growth Time:\n" + TimeDisplayUtils.get_time_string(growthTime)
func _on_confirm_button_pressed():
if itemToPlant != null:
InventoryManager.remove_item_from_inventory(itemToPlant)
get_parent().plant_item(itemToPlant)
get_tree().paused = false
hide()
func _on_cancel_button_pressed():
get_tree().paused = false
hide()

View file

@ -0,0 +1,151 @@
[gd_scene load_steps=7 format=3 uid="uid://cjend4i0ag1bq"]
[ext_resource type="Script" path="res://UI/Gardening/PlantingWindow.gd" id="1_n2tqh"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="1_x4x41"]
[ext_resource type="Texture2D" uid="uid://c3m2e2k7pa3al" path="res://Items/Foods/Fruits/Sprites/Apple.png" id="2_rcw6r"]
[ext_resource type="Texture2D" uid="uid://dvk3ji5tr2sl5" path="res://UI/Gardening/Dirt.png" id="3_jx77n"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qbknj"]
bg_color = Color(0.278431, 0.298039, 0.145098, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[sub_resource type="FontVariation" id="FontVariation_c1kkd"]
spacing_bottom = -14
[node name="PlantingWindow" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
borderless = true
script = ExtResource("1_n2tqh")
[node name="PanelContainer" type="PanelContainer" parent="."]
custom_minimum_size = Vector2(600, 500)
offset_right = 40.0
offset_bottom = 40.0
theme_override_styles/panel = SubResource("StyleBoxFlat_qbknj")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 13
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.392157, 0.827451, 0.239216, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
theme_override_font_sizes/font_size = 32
text = "Planting"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 14
theme_override_constants/margin_right = 14
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/separation = 14
[node name="InventoryDisplayer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("1_x4x41")]
unique_name_in_owner = true
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="ItemSprite" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
unique_name_in_owner = true
position = Vector2(144, 175)
scale = Vector2(2, 2)
texture = ExtResource("2_rcw6r")
[node name="DirtSprite" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
unique_name_in_owner = true
position = Vector2(138, 281)
scale = Vector2(1, 1.1)
texture = ExtResource("3_jx77n")
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
layout_mode = 2
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 0
theme_override_constants/margin_bottom = 10
[node name="VBoxContainer" type="VSplitContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer"]
layout_mode = 2
collapsed = true
dragger_visibility = 2
[node name="PlantedItemName" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.4
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 35
text = "Plant Name"
horizontal_alignment = 1
vertical_alignment = 2
autowrap_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 8
[node name="GrowthTime" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 35
text = "Growth Time: 20 mins"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_left = 47
theme_override_constants/margin_right = 42
theme_override_constants/margin_bottom = 10
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
alignment = 1
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 0
theme_override_constants/margin_right = 45
[node name="ConfirmButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Plant"
[node name="CancelButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 8
text = "Cancel"
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer/ConfirmButton" to="." method="_on_confirm_button_pressed"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/CancelButton" to="." method="_on_cancel_button_pressed"]

58
UI/Hole/HoleMenu.gd Normal file
View file

@ -0,0 +1,58 @@
extends Window
@onready var inventoryItemDisplayer = %Inventory
var itemTransitionScene = preload("res://UI/Sugaring/ItemFadeTransition.tscn")
var fallingAnimPositions = []
var fallingAnimPosIndex = 0
var playerInventory:Inventory
func _ready():
fallingAnimPositions.append(Vector2(444, 280))
fallingAnimPositions.append(Vector2(414, 260))
fallingAnimPositions.append(Vector2(470, 265))
inventoryItemDisplayer.fiveButtons = true
inventoryItemDisplayer.allButtons = true
inventoryItemDisplayer.buttonPressed.connect(drop_item)
inventoryItemDisplayer.fiveButtonPressed.connect(drop_item.bind(5))
inventoryItemDisplayer.allButtonPressed.connect(drop_item.bind(999999))
func opened():
get_tree().paused = true
playerInventory = InventoryManager.get_inventory()
inventoryItemDisplayer.inventory = filter_inventory(playerInventory)
inventoryItemDisplayer.update_display()
func drop_item(item:Item, quantity:int = 1):
var itemsInInv = InventoryManager.get_item_count(item)
if itemsInInv < quantity:
quantity = itemsInInv
InventoryManager.remove_item_from_inventory(item, quantity)
InventoryManager.add_item_to_inventory(item, quantity, "HoleInventory")
drop_item_animation(item)
inventoryItemDisplayer.inventory = filter_inventory(playerInventory)
inventoryItemDisplayer.update_display()
func drop_item_animation(item):
var fallAnimation = preload("res://UI/Hole/ItemFallingTransition.tscn").instantiate()
fallAnimation.start_transition(item.get_sprite())
fallAnimation.position = fallingAnimPositions[fallingAnimPosIndex]
fallingAnimPosIndex += 1
if fallingAnimPosIndex >= fallingAnimPositions.size():
fallingAnimPosIndex = 0
add_child(fallAnimation)
func filter_inventory(inventory):
var filteredInv:Inventory = inventory.duplicate()
return filteredInv
func _on_leave_button_pressed():
get_tree().paused = false
hide()

89
UI/Hole/HoleMenu.tscn Normal file
View file

@ -0,0 +1,89 @@
[gd_scene load_steps=6 format=3 uid="uid://bn16f7m6ev1is"]
[ext_resource type="Theme" uid="uid://dkofjwlcf80gp" path="res://UI/Themes/InteractionPopupTheme.tres" id="1_k1efk"]
[ext_resource type="Script" path="res://UI/Hole/HoleMenu.gd" id="2_mu562"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="3_ueb31"]
[ext_resource type="Texture2D" uid="uid://bna8nkfem8ftl" path="res://Locations/Town/MuseumArea/Hole.png" id="4_6ybk8"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_n5jl5"]
bg_color = Color(0.188235, 0.105882, 0.0117647, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 19
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[node name="HoleMenu" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
unresizable = true
borderless = true
theme = ExtResource("1_k1efk")
script = ExtResource("2_mu562")
[node name="PanelContainer" type="PanelContainer" parent="."]
offset_right = 590.0
offset_bottom = 8.0
theme_override_styles/panel = SubResource("StyleBoxFlat_n5jl5")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
custom_minimum_size = Vector2(590, 490)
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/separation = 11
[node name="HoleName" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.54902, 0.239216, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
theme_override_font_sizes/font_size = 32
text = "Hole"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 8
theme_override_constants/margin_right = 8
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="Inventory" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("3_ueb31")]
unique_name_in_owner = true
layout_mode = 2
[node name="Title" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/Inventory" index="0"]
visible = true
theme_override_colors/font_color = Color(0.690196, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
text = "Inventory"
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
self_modulate = Color(1, 1, 1, 0)
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 5
[node name="LeaveButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
size_flags_horizontal = 4
text = "Leave"
[node name="Hole" type="Sprite2D" parent="."]
position = Vector2(444, 355)
scale = Vector2(0.4, 0.4)
texture = ExtResource("4_6ybk8")
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/LeaveButton" to="." method="_on_leave_button_pressed"]
[editable path="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/Inventory"]

View file

@ -0,0 +1,26 @@
extends Node2D
var fading = false
var falling = false
var shrinkSpeed = 1.5
var fallSpeed = 90
func start_transition(itemSprite):
fading = false
falling = true
%ItemSprite.texture = itemSprite
func _process(delta):
if falling:
$ItemSprite.position += Vector2(0, fallSpeed * delta)
$ItemSprite.scale -= Vector2(shrinkSpeed * delta, shrinkSpeed * delta)
if $ItemSprite.scale.x <= 0.5:
fading = true
if fading:
if %ItemSprite.self_modulate.a > 0:
%ItemSprite.self_modulate.a -= 4 * delta
if %ItemSprite.self_modulate.a < 0:
%ItemSprite.self_modulate.a = 0
queue_free()

View file

@ -0,0 +1,10 @@
[gd_scene load_steps=2 format=3 uid="uid://fye05kkddb6a"]
[ext_resource type="Script" path="res://UI/Hole/ItemFallingTransition.gd" id="1_uaqvu"]
[node name="ItemFadeTransition" type="Node2D"]
script = ExtResource("1_uaqvu")
[node name="ItemSprite" type="Sprite2D" parent="."]
unique_name_in_owner = true
scale = Vector2(2, 2)

View file

@ -0,0 +1,27 @@
[gd_scene load_steps=2 format=3 uid="uid://c3ku75p4ep3c7"]
[ext_resource type="Script" path="res://UI/Shopping/InventoryDisplayer.gd" id="1_6npui"]
[node name="InventoryDisplayer" type="VBoxContainer"]
size_flags_horizontal = 3
size_flags_vertical = 3
script = ExtResource("1_6npui")
[node name="Title" type="Label" parent="."]
visible = false
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_font_sizes/font_size = 32
horizontal_alignment = 1
vertical_alignment = 2
[node name="ScrollContainer" type="ScrollContainer" parent="."]
layout_mode = 2
size_flags_vertical = 3
[node name="Items" type="VBoxContainer" parent="ScrollContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 2

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://da8pqedka2stm"
path="res://.godot/imported/juiceAnim1.png-156d2caf68957f37649b12ba52e50800.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Juicing/JuiceAnim/juiceAnim1.png"
dest_files=["res://.godot/imported/juiceAnim1.png-156d2caf68957f37649b12ba52e50800.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: 700 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c4j14kwhypmr7"
path="res://.godot/imported/juiceAnim10.png-651c3ad7f5b338729fa6c8eca5a7f67d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Juicing/JuiceAnim/juiceAnim10.png"
dest_files=["res://.godot/imported/juiceAnim10.png-651c3ad7f5b338729fa6c8eca5a7f67d.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: 631 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c1urafq8k20a5"
path="res://.godot/imported/juiceAnim11.png-695a0162bbb0aa72dc7b020b443f1917.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Juicing/JuiceAnim/juiceAnim11.png"
dest_files=["res://.godot/imported/juiceAnim11.png-695a0162bbb0aa72dc7b020b443f1917.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: 680 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b3ky6bn4vronw"
path="res://.godot/imported/juiceAnim12.png-8d7579b94a025b9b1d46fe65b3cff135.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Juicing/JuiceAnim/juiceAnim12.png"
dest_files=["res://.godot/imported/juiceAnim12.png-8d7579b94a025b9b1d46fe65b3cff135.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: 618 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://kchs1ssknsba"
path="res://.godot/imported/juiceAnim13.png-7310a2d2ff2583cbbec4c445f679ac52.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Juicing/JuiceAnim/juiceAnim13.png"
dest_files=["res://.godot/imported/juiceAnim13.png-7310a2d2ff2583cbbec4c445f679ac52.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: 469 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://nqudfa4jfref"
path="res://.godot/imported/juiceAnim14.png-642c16fab1f103ce29219e79e75ddef6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Juicing/JuiceAnim/juiceAnim14.png"
dest_files=["res://.godot/imported/juiceAnim14.png-642c16fab1f103ce29219e79e75ddef6.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: 576 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://5qsrwya1m0it"
path="res://.godot/imported/juiceAnim2.png-ab5c7d2094f5ccb80e26fac24292f637.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Juicing/JuiceAnim/juiceAnim2.png"
dest_files=["res://.godot/imported/juiceAnim2.png-ab5c7d2094f5ccb80e26fac24292f637.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: 494 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://rd0crhf3meb8"
path="res://.godot/imported/juiceAnim3.png-89fa4577864e2d668ce42f26cbd5f120.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Juicing/JuiceAnim/juiceAnim3.png"
dest_files=["res://.godot/imported/juiceAnim3.png-89fa4577864e2d668ce42f26cbd5f120.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: 535 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cbx2ymve13krt"
path="res://.godot/imported/juiceAnim4.png-6785a028a8d1c858950f62b521d3355d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Juicing/JuiceAnim/juiceAnim4.png"
dest_files=["res://.godot/imported/juiceAnim4.png-6785a028a8d1c858950f62b521d3355d.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: 748 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b6o7qhpqcatcw"
path="res://.godot/imported/juiceAnim5.png-f60a9e0513a6a08c750feda44d46cee4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Juicing/JuiceAnim/juiceAnim5.png"
dest_files=["res://.godot/imported/juiceAnim5.png-f60a9e0513a6a08c750feda44d46cee4.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: 827 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b0jlej8bqxoyj"
path="res://.godot/imported/juiceAnim6.png-0d3c2f6a9a8a20f64cbcd378a1a350ed.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://UI/Juicing/JuiceAnim/juiceAnim6.png"
dest_files=["res://.godot/imported/juiceAnim6.png-0d3c2f6a9a8a20f64cbcd378a1a350ed.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

Some files were not shown because too many files have changed in this diff Show more