* 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 *
46 lines
1.2 KiB
GDScript
46 lines
1.2 KiB
GDScript
extends Interactable3D
|
|
|
|
const MAX_BREAK_LEVEL = 2
|
|
|
|
signal broken
|
|
|
|
@export var break_level = 0
|
|
|
|
func _ready():
|
|
update_model()
|
|
|
|
func click():
|
|
if interactable:
|
|
clicked.emit()
|
|
%BreackAudioPlayer.playing = true
|
|
%BreakParticles.emitting = true
|
|
|
|
break_level += 1
|
|
if break_level == MAX_BREAK_LEVEL:
|
|
broken.emit()
|
|
interactable = false
|
|
unlock_mutation()
|
|
|
|
update_model()
|
|
|
|
|
|
func update_model():
|
|
if is_node_ready():
|
|
%CristalModel.visible = break_level == 0
|
|
%CristalModelCrack1.visible = break_level == 1
|
|
%CristalModelCrack2.visible = break_level > 1
|
|
|
|
if break_level > 1:
|
|
%CristalModelCrack2.find_children("AnimationPlayer")[0].play("Break")
|
|
|
|
func unlock_mutation():
|
|
var progression = GameInfo.game_data.progression_data
|
|
|
|
if progression.mutations_unlocked < len(progression.get_all_mutations()):
|
|
var new_mutation : PlantMutation = progression.get_all_mutations()[progression.mutations_unlocked]
|
|
progression.mutations_unlocked += 1
|
|
|
|
get_tree().create_timer(1.).timeout.connect(
|
|
func (): %MutationAnnounce.announce_mutation = new_mutation
|
|
);
|