* 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 *
60 lines
1.7 KiB
GDScript
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()
|
|
]
|