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 *
This commit is contained in:
45
entities/interactable_3d/cristal/scripts/cristal.gd
Normal file
45
entities/interactable_3d/cristal/scripts/cristal.gd
Normal file
@@ -0,0 +1,45 @@
|
||||
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
|
||||
);
|
||||
Reference in New Issue
Block a user