This commit is contained in:
2026-04-23 22:09:57 +02:00
parent 0064e61389
commit 4e6d7e41ed
17 changed files with 77 additions and 34 deletions

View File

@@ -1,7 +1,7 @@
class_name CurrencyTile class_name CurrencyTile
extends HBoxContainer extends HBoxContainer
@export var currency: Resource @export var currency: Currency
@export var game_state: LevelGameState @export var game_state: LevelGameState
@onready var _icon: TextureRect = $CurrencyIcon @onready var _icon: TextureRect = $CurrencyIcon

View File

@@ -1,10 +1,10 @@
[gd_scene format=3 uid="uid://cbp6vpth8x4rw"] [gd_scene format=3 uid="uid://cbp6vpth8x4rw"]
[ext_resource type="Script" uid="uid://do1i3hrd0ueb6" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/alchemy_currencies_panel.gd" id="1_script"] [ext_resource type="Script" uid="uid://do1i3hrd0ueb6" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/alchemy_craftable_panel.gd" id="1_rg8ty"]
[node name="AlchemyCurrenciesPanel" type="PanelContainer" unique_id=1000001] [node name="AlchemyCraftablePanel" type="PanelContainer" unique_id=1000001]
custom_minimum_size = Vector2(400, 300) custom_minimum_size = Vector2(400, 300)
script = ExtResource("1_script") script = ExtResource("1_rg8ty")
[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=1115194594] [node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=1115194594]
layout_mode = 2 layout_mode = 2

View File

@@ -1,9 +1,9 @@
[gd_scene format=3 uid="uid://bp5ng4vu4ot4a"] [gd_scene format=3 uid="uid://bp5ng4vu4ot4a"]
[ext_resource type="Texture2D" uid="uid://cieg8i3c8hca6" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/Tower.png" id="1_vbhae"] [ext_resource type="Texture2D" uid="uid://cieg8i3c8hca6" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/Tower.png" id="1_vbhae"]
[ext_resource type="PackedScene" uid="uid://cbp6vpth8x4rw" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/alchemy_currencies_panel.tscn" id="2_8pntr"] [ext_resource type="PackedScene" uid="uid://cbp6vpth8x4rw" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/alchemy_craftable_panel.tscn" id="2_8pntr"]
[ext_resource type="Script" uid="uid://bddaaj76msmvj" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/alchemy_tower.gd" id="3_tower"] [ext_resource type="Script" uid="uid://bddaaj76msmvj" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/alchemy_tower.gd" id="3_tower"]
[ext_resource type="Resource" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/alchemy_tower_data.tres" id="4_data"] [ext_resource type="Resource" uid="uid://cedxqlirp3imi" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/alchemy_tower_data.tres" id="4_data"]
[ext_resource type="Resource" uid="uid://diboykfbbxpfs" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/alchemy_craft_catalogue.tres" id="5_recipes"] [ext_resource type="Resource" uid="uid://diboykfbbxpfs" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/alchemy_craft_catalogue.tres" id="5_recipes"]
[ext_resource type="Resource" uid="uid://dpbndqxvsffa0" path="res://docs/gyms/tiny_sword/currencies/magic_gold.tres" id="7_b8p5n"] [ext_resource type="Resource" uid="uid://dpbndqxvsffa0" path="res://docs/gyms/tiny_sword/currencies/magic_gold.tres" id="7_b8p5n"]

View File

@@ -1,14 +1,6 @@
[gd_resource type="Resource" script_class="AlchemyTowerData" format=3 uid="uid://alchemy_tower_data"] [gd_resource type="Resource" script_class="AlchemyTowerData" format=3 uid="uid://cedxqlirp3imi"]
[ext_resource type="Script" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/alchemy_tower_data.gd" id="1_data"] [ext_resource type="Script" uid="uid://dxgpic67x08c6" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/alchemy_tower_data.gd" id="1_data"]
[resource] [resource]
script = ExtResource("1_data") script = ExtResource("1_data")
id = &"alchemy_tower"
name = "Alchemy Tower"
base_production_time_seconds = 5.0
production_time_growth_multiplier = 1.2
magic_gold_per_cycle = 1.0
base_worker_speed_bonus = 0.1
max_workers = 10
metadata/_custom_type_script = "res://docs/gyms/tiny_sword/buildings/alchemy_tower/alchemy_tower_data.gd"

View File

@@ -2,7 +2,7 @@ class_name AlchemyCraftCatalogue
extends Resource extends Resource
## Catalogue of alchemy craft recipes ## Catalogue of alchemy craft recipes
@export var recipes: Array = [] @export var recipes: Array[AlchemyCraftRecipe] = []
func get_recipe_by_id(id: StringName) -> Variant: func get_recipe_by_id(id: StringName) -> Variant:
for recipe in recipes: for recipe in recipes:

View File

@@ -1,9 +1,10 @@
[gd_resource type="Resource" script_class="AlchemyCraftCatalogue" format=3 uid="uid://diboykfbbxpfs"] [gd_resource type="Resource" script_class="AlchemyCraftCatalogue" format=3 uid="uid://diboykfbbxpfs"]
[ext_resource type="Script" uid="uid://biljlhsxr3rsc" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/alchemy_craft_catalogue.gd" id="1_cat"] [ext_resource type="Script" uid="uid://biljlhsxr3rsc" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/alchemy_craft_catalogue.gd" id="1_cat"]
[ext_resource type="Resource" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/mana_stone_recipe.tres" id="2_mana_recipe"] [ext_resource type="Resource" uid="uid://by8qmuhvo38nn" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/mana_stone_recipe.tres" id="2_mana_recipe"]
[ext_resource type="Resource" uid="uid://dliibkgb2mom0" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/cognite_recipe.tres" id="3_cognite_recipe"] [ext_resource type="Resource" uid="uid://dliibkgb2mom0" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/cognite_recipe.tres" id="3_cognite_recipe"]
[ext_resource type="Resource" uid="uid://nfpkv6a2u0wf" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/philosoper_stone_recipe.tres" id="3_pbygp"]
[resource] [resource]
script = ExtResource("1_cat") script = ExtResource("1_cat")
recipes = [ExtResource("2_mana_recipe"), ExtResource("3_cognite_recipe")] recipes = [ExtResource("2_mana_recipe"), ExtResource("3_cognite_recipe"), ExtResource("3_pbygp")]

View File

@@ -7,4 +7,4 @@ extends Resource
@export var output_amount: int = 1 @export var output_amount: int = 1
## Multi-currency cost to perform this craft ## Multi-currency cost to perform this craft
@export var cost_entries: Array = [] @export var cost_entries: Array[CurrencyCostEntry] = []

View File

@@ -1,10 +0,0 @@
[gd_resource type="Resource" script_class="CurrencyCatalogue" format=3]
[ext_resource type="Script" uid="uid://621tus0uvbrd" path="res://core/currency/currency_catalogue.gd" id="1_cat"]
[ext_resource type="Resource" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/mana_stone_recipe.tres" id="2_mana_recipe"]
[ext_resource type="Resource" uid="uid://dliibkgb2mom0" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/cognite_recipe.tres" id="3_cognite_recipe"]
[resource]
script = ExtResource("1_cat")
currencies = [ExtResource("2_mana_recipe"), ExtResource("3_cognite_recipe")]
metadata/_custom_type_script = "uid://catalogue_script"

View File

@@ -1,4 +1,4 @@
[gd_resource type="Resource" script_class="AlchemyCraftRecipe" format=3] [gd_resource type="Resource" script_class="AlchemyCraftRecipe" format=3 uid="uid://by8qmuhvo38nn"]
[ext_resource type="Script" uid="uid://ddlnlpb0p750q" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/alchemy_craft_recipe.gd" id="1_recipe"] [ext_resource type="Script" uid="uid://ddlnlpb0p750q" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/alchemy_craft_recipe.gd" id="1_recipe"]
[ext_resource type="Resource" uid="uid://brctmnpmhjas6" path="res://docs/gyms/tiny_sword/currencies/mana_stone.tres" id="2_mana_stone"] [ext_resource type="Resource" uid="uid://brctmnpmhjas6" path="res://docs/gyms/tiny_sword/currencies/mana_stone.tres" id="2_mana_stone"]
@@ -8,6 +8,4 @@
script = ExtResource("1_recipe") script = ExtResource("1_recipe")
id = &"mana_stone_recipe" id = &"mana_stone_recipe"
output_currency = ExtResource("2_mana_stone") output_currency = ExtResource("2_mana_stone")
output_amount = 1
cost_entries = [ExtResource("3_cost")] cost_entries = [ExtResource("3_cost")]
metadata/_custom_type_script = "res://docs/gyms/tiny_sword/buildings/alchemy_tower/alchemy_craft_recipe.gd"

View File

@@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="CurrencyCostEntry" format=3 uid="uid://cheww15gwet47"]
[ext_resource type="Resource" uid="uid://brctmnpmhjas6" path="res://docs/gyms/tiny_sword/currencies/mana_stone.tres" id="1_8mjcf"]
[ext_resource type="Script" uid="uid://ba8e403mb7hp0" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/currency_cost_entry.gd" id="1_cost"]
[resource]
script = ExtResource("1_cost")
currency = ExtResource("1_8mjcf")
amount = 10

View File

@@ -0,0 +1,9 @@
[gd_resource type="Resource" script_class="CurrencyCostEntry" format=3 uid="uid://bprij85vf66at"]
[ext_resource type="Resource" uid="uid://t6du7gm2ywbi" path="res://docs/gyms/tiny_sword/currencies/cognite.tres" id="1_3oqnk"]
[ext_resource type="Script" uid="uid://ba8e403mb7hp0" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/currency_cost_entry.gd" id="2_q6dwm"]
[resource]
script = ExtResource("2_q6dwm")
currency = ExtResource("1_3oqnk")
amount = 10

View File

@@ -0,0 +1,12 @@
[gd_resource type="Resource" script_class="AlchemyCraftRecipe" format=3 uid="uid://nfpkv6a2u0wf"]
[ext_resource type="Resource" uid="uid://cheww15gwet47" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/philosoper_stone_cost_entry_0.tres" id="1_jbac4"]
[ext_resource type="Resource" uid="uid://co4fiqgluwit0" path="res://docs/gyms/tiny_sword/currencies/philosoper_stone.tres" id="1_o0mnq"]
[ext_resource type="Script" uid="uid://ddlnlpb0p750q" path="res://docs/gyms/tiny_sword/buildings/alchemy_tower/recipes/alchemy_craft_recipe.gd" id="1_pxgqn"]
[resource]
script = ExtResource("1_pxgqn")
id = &"philosoper_stone_recipe"
output_currency = ExtResource("1_o0mnq")
cost_entries = [ExtResource("1_jbac4")]
metadata/_custom_type_script = "uid://ddlnlpb0p750q"

View File

@@ -0,0 +1,11 @@
[gd_resource type="Resource" script_class="Currency" format=3 uid="uid://co4fiqgluwit0"]
[ext_resource type="Texture2D" uid="uid://c1gnh8jgctrcx" path="res://sandbox/tiny_swords/UI Elements/UI Elements/Icons/Icon_07.png" id="1_cks7i"]
[ext_resource type="Script" uid="uid://dtgqjf3bl7pm8" path="res://core/currency/currency.gd" id="2_ih4no"]
[resource]
script = ExtResource("2_ih4no")
id = &"philosoper_stone"
display_name = "Philosoper Stone"
icon = ExtResource("1_cks7i")
metadata/_custom_type_script = "uid://dtgqjf3bl7pm8"

View File

@@ -10,8 +10,9 @@
[ext_resource type="Resource" uid="uid://dpbndqxvsffa0" path="res://docs/gyms/tiny_sword/currencies/magic_gold.tres" id="7_vu05v"] [ext_resource type="Resource" uid="uid://dpbndqxvsffa0" path="res://docs/gyms/tiny_sword/currencies/magic_gold.tres" id="7_vu05v"]
[ext_resource type="Resource" uid="uid://brctmnpmhjas6" path="res://docs/gyms/tiny_sword/currencies/mana_stone.tres" id="8_p3urk"] [ext_resource type="Resource" uid="uid://brctmnpmhjas6" path="res://docs/gyms/tiny_sword/currencies/mana_stone.tres" id="8_p3urk"]
[ext_resource type="Resource" uid="uid://t6du7gm2ywbi" path="res://docs/gyms/tiny_sword/currencies/cognite.tres" id="9_ejnoj"] [ext_resource type="Resource" uid="uid://t6du7gm2ywbi" path="res://docs/gyms/tiny_sword/currencies/cognite.tres" id="9_ejnoj"]
[ext_resource type="Resource" uid="uid://co4fiqgluwit0" path="res://docs/gyms/tiny_sword/currencies/philosoper_stone.tres" id="10_ejnoj"]
[resource] [resource]
script = ExtResource("2_hmju3") script = ExtResource("2_hmju3")
currencies = Array[ExtResource("1_501l6")]([ExtResource("2_ucsji"), ExtResource("3_7hx6u"), ExtResource("4_c77gh"), ExtResource("5_gyp05"), ExtResource("6_ascension"), ExtResource("7_vu05v"), ExtResource("8_p3urk"), ExtResource("9_ejnoj")]) currencies = Array[ExtResource("1_501l6")]([ExtResource("2_ucsji"), ExtResource("3_7hx6u"), ExtResource("4_c77gh"), ExtResource("5_gyp05"), ExtResource("6_ascension"), ExtResource("7_vu05v"), ExtResource("8_p3urk"), ExtResource("9_ejnoj"), ExtResource("10_ejnoj")])
metadata/_custom_type_script = "uid://621tus0uvbrd" metadata/_custom_type_script = "uid://621tus0uvbrd"

View File

@@ -23,6 +23,8 @@
[ext_resource type="Resource" uid="uid://bfrb0ayrljac2" path="res://docs/gyms/tiny_sword/currencies/ascension.tres" id="15_ascension"] [ext_resource type="Resource" uid="uid://bfrb0ayrljac2" path="res://docs/gyms/tiny_sword/currencies/ascension.tres" id="15_ascension"]
[ext_resource type="Resource" uid="uid://dpbndqxvsffa0" path="res://docs/gyms/tiny_sword/currencies/magic_gold.tres" id="20_no27p"] [ext_resource type="Resource" uid="uid://dpbndqxvsffa0" path="res://docs/gyms/tiny_sword/currencies/magic_gold.tres" id="20_no27p"]
[ext_resource type="Resource" uid="uid://brctmnpmhjas6" path="res://docs/gyms/tiny_sword/currencies/mana_stone.tres" id="22_rbyxa"] [ext_resource type="Resource" uid="uid://brctmnpmhjas6" path="res://docs/gyms/tiny_sword/currencies/mana_stone.tres" id="22_rbyxa"]
[ext_resource type="Resource" uid="uid://t6du7gm2ywbi" path="res://docs/gyms/tiny_sword/currencies/cognite.tres" id="23_vrcrd"]
[ext_resource type="Resource" uid="uid://co4fiqgluwit0" path="res://docs/gyms/tiny_sword/currencies/philosoper_stone.tres" id="24_eaq6h"]
[node name="TinySwords" type="Node" unique_id=498237642] [node name="TinySwords" type="Node" unique_id=498237642]
@@ -141,6 +143,24 @@ offset_bottom = 209.0
currency = ExtResource("22_rbyxa") currency = ExtResource("22_rbyxa")
game_state = NodePath("../..") game_state = NodePath("../..")
[node name="CogniteTile" parent="LevelGameState/UI" unique_id=150108085 node_paths=PackedStringArray("game_state") instance=ExtResource("7_0cs5o")]
layout_mode = 0
offset_left = 1.0
offset_top = 210.0
offset_right = 204.0
offset_bottom = 241.0
currency = ExtResource("23_vrcrd")
game_state = NodePath("../..")
[node name="PhilosoperStoneTile" parent="LevelGameState/UI" unique_id=1360957288 node_paths=PackedStringArray("game_state") instance=ExtResource("7_0cs5o")]
layout_mode = 0
offset_left = 1.0
offset_top = 240.0
offset_right = 204.0
offset_bottom = 271.0
currency = ExtResource("24_eaq6h")
game_state = NodePath("../..")
[node name="GoalsDebugUI" parent="LevelGameState/UI" unique_id=1494700185 instance=ExtResource("10_qifrv")] [node name="GoalsDebugUI" parent="LevelGameState/UI" unique_id=1494700185 instance=ExtResource("10_qifrv")]
layout_mode = 1 layout_mode = 1
offset_left = 1275.0 offset_left = 1275.0