Files
seeding-planets/common/game_data/scripts/progression_data.gd
Zacharie Guet c8e0e9ecce Dev Beta 1.3
* Ajout d'un déblocage des mutations, dans une scène 3D trouvable dans les runs, ainsi qu'un dialogue d'annonce de ces scènes
* Augmentation des charges par map à 10 et augmentation des objectifs de points de plantes en conséquence
* Modification du loot des graines : les plantes donnent désormais un nombre fixe de graine et les graines issues de veine de Talion n'obtiennent pas automatiquement de mutations
* Les portes ne seront désormais plus sur de la pierre
* Amélioration du tutoriel pour inclure une section d'explication des mutations
* Ajout du modificateur de région Magnétique qui divise l'objectif et les recharges par 2
*
2026-05-09 16:40:22 +02:00

60 lines
1.7 KiB
GDScript

extends Resource
class_name ProgressionData
@export var planted_mutation_ids: Array[String] = []
@export var story_step_i := 0
@export var mutations_unlocked = 5
var all_mutations: Array[PlantMutation] : get = get_all_mutations
var available_mutations: Array[PlantMutation] : get = get_available_mutations
var available_artefacts: Array[Artefact] : get = get_all_artifacts
var story_step : StoryStep : get = get_story_step
func get_story_step() -> StoryStep:
return get_all_story_steps()[story_step_i]
func next_story_step() -> void:
get_story_step()._on_finish()
if story_step_i + 1 < len(get_all_story_steps()):
story_step_i += 1
func get_available_mutations() -> Array[PlantMutation]:
return get_all_mutations().slice(0, mutations_unlocked)
func get_all_mutations() -> Array[PlantMutation]:
return [
QualityMutation.new(),
AncientMutation.new(),
ProlificMutation.new(),
PrecociousMutation.new(),
PurificationMutation.new(),
SocialMutation.new(),
FertileMutation.new(),
QuickMutation.new(),
HurriedMutation.new(),
GenerousMutation.new(),
ProtectiveMutation.new(),
PureMutation.new(),
RobustMutation.new(),
ToughMutation.new(),
VivaciousMutation.new(),
]
func get_all_artifacts() -> Array[Artefact]:
return [
PileArtefact.new(),
SeedCaseArtefact.new(),
StabilisatorArtefact.new(),
TalionOverloaderArtefact.new(),
TalionSoilArtifact.new(),
]
func get_all_story_steps() -> Array[StoryStep]:
return [
TutorialStoryStep.new(),
AstraStoryStep.new(),
MercuryStoryStep.new(),
BetaStoryStep.new()
]