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:
@@ -5,6 +5,7 @@ enum BasisType {
|
||||
LIFETIME_TOTAL,
|
||||
RUN_TOTAL,
|
||||
RUN_MAX,
|
||||
ALL_CURRENCIES,
|
||||
}
|
||||
|
||||
enum FormulaType {
|
||||
@@ -41,6 +42,7 @@ enum MultiplierMode {
|
||||
@export var base_multiplier: float = 1.0
|
||||
@export var multiplier_per_prestige: float = 0.05
|
||||
@export var multiplier_exponent: float = 1.0
|
||||
@export var include_currency_ids: Array[StringName] = []
|
||||
|
||||
func get_threshold() -> BigNumber:
|
||||
return BigNumber.new(threshold_mantissa, threshold_exponent)
|
||||
@@ -48,7 +50,7 @@ func get_threshold() -> BigNumber:
|
||||
func is_valid() -> bool:
|
||||
if String(id).strip_edges().is_empty():
|
||||
return false
|
||||
if String(source_currency_id).strip_edges().is_empty():
|
||||
if String(source_currency_id).strip_edges().is_empty() and basis != BasisType.ALL_CURRENCIES:
|
||||
return false
|
||||
if threshold_mantissa <= 0.0:
|
||||
return false
|
||||
|
||||
Reference in New Issue
Block a user