systems rework: buffs, prestige graph, research, modular architecture
Decouples core systems from centralized globals in favor of catalogue-based architecture and data-driven content. Key changes: - Prestige: node-based buff tech tree, graph panel, progress bar - Research: multi-worker system, per-generator research, xp generation - Ascension: meta-currency layer via multi-currency prestige resets - Buffs: refactored as generator-independent via catalogues - UI: currency panel, edge-scrolling camera + zoom, current-goal panel - Alchemy Tower: crafting building with recipe/cost system - Testing: 7 test suites (ascension, prestige, research, goals) - Content: migrated from hardcoded idles/ to gym format (tiny_sword)
This commit was merged in pull request #1.
This commit is contained in:
10
docs/gyms/tiny_sword/prestige/prestige_buff_catalogue.tres
Normal file
10
docs/gyms/tiny_sword/prestige/prestige_buff_catalogue.tres
Normal file
@@ -0,0 +1,10 @@
|
||||
[gd_resource type="Resource" script_class="PrestigeBuffCatalogue" format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://core/prestige/prestige_buff_node.gd" id="1_node"]
|
||||
[ext_resource type="Script" path="res://core/prestige/prestige_buff_catalogue.gd" id="2_cat"]
|
||||
[ext_resource type="Resource" path="res://docs/gyms/tiny_sword/prestige/prestige_buff_gold_boost.tres" id="3_gold"]
|
||||
[ext_resource type="Resource" path="res://docs/gyms/tiny_sword/prestige/prestige_buff_farm_boost.tres" id="4_farm"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_cat")
|
||||
nodes = Array[ExtResource("1_node")]([ExtResource("3_gold"), ExtResource("4_farm")])
|
||||
13
docs/gyms/tiny_sword/prestige/prestige_buff_farm_boost.tres
Normal file
13
docs/gyms/tiny_sword/prestige/prestige_buff_farm_boost.tres
Normal file
@@ -0,0 +1,13 @@
|
||||
[gd_resource type="Resource" script_class="PrestigeBuffNode" format=3 uid="uid://cvogxo0msis2w"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://mjyig8xlgki0" path="res://core/prestige/prestige_buff_node.gd" id="1_script"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_script")
|
||||
id = &"farm_boost"
|
||||
display_name = "Fertile Grounds"
|
||||
description = "Permanently increases farm food production."
|
||||
parent_ids = Array[StringName]([&"gold_boost"])
|
||||
effect_value = 2.0
|
||||
target_id = &"farm"
|
||||
x_position = 1.0
|
||||
11
docs/gyms/tiny_sword/prestige/prestige_buff_gold_boost.tres
Normal file
11
docs/gyms/tiny_sword/prestige/prestige_buff_gold_boost.tres
Normal file
@@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="PrestigeBuffNode" format=3 uid="uid://vl3ot4t876pc"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://mjyig8xlgki0" path="res://core/prestige/prestige_buff_node.gd" id="1_script"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_script")
|
||||
id = &"gold_boost"
|
||||
display_name = "Golden Touch"
|
||||
description = "Permanently increases gold mine production."
|
||||
effect_value = 2.0
|
||||
target_id = &"goldmine"
|
||||
69
docs/gyms/tiny_sword/prestige/prestige_buff_graph_panel.tscn
Normal file
69
docs/gyms/tiny_sword/prestige/prestige_buff_graph_panel.tscn
Normal file
@@ -0,0 +1,69 @@
|
||||
[gd_scene format=3 uid="uid://dprbgokqitaav"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://n01pkakxllnj" path="res://core/prestige/prestige_buff_graph_panel.gd" id="1_panel"]
|
||||
[ext_resource type="Script" uid="uid://uv5lxj6hmpk" path="res://core/prestige/prestige_buff_connection_overlay.gd" id="2_overlay"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqk8rwia7lpbg" path="res://core/prestige/prestige_buff_graph_tile.tscn" id="3_tile"]
|
||||
[ext_resource type="Resource" uid="uid://vl3ot4t876pc" path="res://docs/gyms/tiny_sword/prestige/prestige_buff_gold_boost.tres" id="4_gold"]
|
||||
[ext_resource type="Resource" uid="uid://cvogxo0msis2w" path="res://docs/gyms/tiny_sword/prestige/prestige_buff_farm_boost.tres" id="5_farm"]
|
||||
|
||||
[node name="PrestigeBuffGraphPanel" type="PanelContainer" unique_id=947835716]
|
||||
custom_minimum_size = Vector2(600, 400)
|
||||
script = ExtResource("1_panel")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=829451203]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 16
|
||||
theme_override_constants/margin_top = 12
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_bottom = 12
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer" unique_id=637192845]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Header" type="HBoxContainer" parent="MarginContainer/VBoxContainer" unique_id=372819465]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="TitleLabel" type="Label" parent="MarginContainer/VBoxContainer/Header" unique_id=518293746]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 20
|
||||
text = "Prestige Buffs"
|
||||
|
||||
[node name="CloseButton" type="Button" parent="MarginContainer/VBoxContainer/Header" unique_id=184756392]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 10
|
||||
theme_override_font_sizes/font_size = 16
|
||||
text = "✕"
|
||||
|
||||
[node name="BalanceLabel" type="Label" parent="MarginContainer/VBoxContainer" unique_id=293847561]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 14
|
||||
text = "Prestige Currency: 0"
|
||||
|
||||
[node name="TilesArea" type="Control" parent="MarginContainer/VBoxContainer" unique_id=847291034]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
mouse_filter = 1
|
||||
|
||||
[node name="ConnectionOverlay" type="Control" parent="MarginContainer/VBoxContainer/TilesArea" unique_id=563829104]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
script = ExtResource("2_overlay")
|
||||
|
||||
[node name="GoldBoostTile" parent="MarginContainer/VBoxContainer/TilesArea" unique_id=756192834 instance=ExtResource("3_tile")]
|
||||
layout_mode = 0
|
||||
offset_right = 220.0
|
||||
offset_bottom = 100.0
|
||||
prestige_buff = ExtResource("4_gold")
|
||||
|
||||
[node name="FarmBoostTile" parent="MarginContainer/VBoxContainer/TilesArea" unique_id=619283475 instance=ExtResource("3_tile")]
|
||||
layout_mode = 0
|
||||
offset_left = 3.0
|
||||
offset_top = 121.0
|
||||
offset_right = 223.0
|
||||
offset_bottom = 221.0
|
||||
prestige_buff = ExtResource("5_farm")
|
||||
12
docs/gyms/tiny_sword/prestige/prestige_buff_wood_boost.tres
Normal file
12
docs/gyms/tiny_sword/prestige/prestige_buff_wood_boost.tres
Normal file
@@ -0,0 +1,12 @@
|
||||
[gd_resource type="Resource" script_class="PrestigeBuffNode" format=3 uid="uid://bif136o485oqh"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://mjyig8xlgki0" path="res://core/prestige/prestige_buff_node.gd" id="1_42hk5"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_42hk5")
|
||||
id = &"wood_boost"
|
||||
display_name = "Wood Touch"
|
||||
description = "Permanently increases forestry production."
|
||||
parent_ids = Array[StringName]([&"farm_boost"])
|
||||
effect_value = 2.0
|
||||
target_id = &"forestry"
|
||||
9
docs/gyms/tiny_sword/prestige/primary_prestige.tres
Normal file
9
docs/gyms/tiny_sword/prestige/primary_prestige.tres
Normal file
@@ -0,0 +1,9 @@
|
||||
[gd_resource type="Resource" script_class="PrestigeConfig" format=3 uid="uid://dwmfvmusfskk6"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://w34t58rpkoui" path="res://core/prestige/prestige_config.gd" id="1_3tg3a"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_3tg3a")
|
||||
id = &"ascension"
|
||||
prestige_currency_id = &"ascension"
|
||||
basis = 3
|
||||
Reference in New Issue
Block a user