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)
16 lines
369 B
GDScript
16 lines
369 B
GDScript
class_name GoalRequirementData
|
|
extends Resource
|
|
|
|
@export var currency: Currency
|
|
@export var amount_mantissa: float = 0.0
|
|
@export var amount_exponent: int = 0
|
|
|
|
func get_currency() -> Currency:
|
|
return currency
|
|
|
|
func get_amount() -> BigNumber:
|
|
return BigNumber.new(amount_mantissa, amount_exponent)
|
|
|
|
func has_valid_amount() -> bool:
|
|
return get_amount().mantissa >= 0.0
|