Fix generator behaviour after prestige

This commit is contained in:
2026-03-22 12:19:26 +01:00
parent c914b0c590
commit 726f2bb5a3
4 changed files with 18 additions and 9 deletions

View File

@@ -321,10 +321,10 @@ func get_external_save_data(section_key: StringName) -> Dictionary:
return {}
func reset_for_prestige(reset_total_currency: bool = false) -> void:
for currency_id in _collect_currency_ids_for_save():
func reset_for_prestige(reset_total_currency: bool = false, emit_currency_signals: bool = true) -> void:
var currency_ids: Array[StringName] = _collect_currency_ids_for_save()
for currency_id in currency_ids:
_set_current_currency(currency_id, BigNumber.from_float(0.0))
currency_changed.emit(currency_id, _get_current_currency_ref(currency_id))
if reset_total_currency:
_set_total_currency(currency_id, BigNumber.from_float(0.0))
@@ -332,6 +332,16 @@ func reset_for_prestige(reset_total_currency: bool = false) -> void:
generator_buff_levels.clear()
generator_buff_unlocked.clear()
if not emit_currency_signals:
return
for currency_id in currency_ids:
currency_changed.emit(currency_id, _get_current_currency_ref(currency_id))
func emit_currency_changed_for_all() -> void:
for currency_id in _collect_currency_ids_for_save():
currency_changed.emit(currency_id, _get_current_currency_ref(currency_id))
# ==========================================
# PERSISTENCE (Save/Load)
# ==========================================