extends ProgressionData class_name InfiniteProgressionData func get_story_step() -> StoryStep: return InfiniteStoryStep.new(run_number) func get_story_progression() -> float: return 0. func discover_mutation(_pm : PlantMutation) -> void: pass func get_mutations_discovered() -> Array[String]: var mutation_discovered : Array[String] = [] for m in get_all_mutations(): mutation_discovered.append(m.get_mutation_id()) return mutation_discovered func next_story_step() -> void: pass func are_all_mutations_unlocked() -> bool: return true func unlock_new_mutation() -> PlantMutation: return null func get_available_mutations() -> Array[PlantMutation]: return get_all_mutations() func set_best_run(v := best_run): if best_run < 10 and v == 10: SteamConnection.unlock_achievement(SteamConnection.ACH_STW_HIT_10_INFINITE) if best_run < 20 and v == 20: SteamConnection.unlock_achievement(SteamConnection.ACH_STW_HIT_20_INFINITE) if best_run < 30 and v == 30: SteamConnection.unlock_achievement(SteamConnection.ACH_STW_HIT_30_INFINITE) best_run = v