Amélioration QOL et fix divers pour l'alpha-1.1

* Ajout des icônes dans les descriptions des mutations
* QOL sur la fonctionnalité de drop d'item
* Ajout des contrôles dans le tutoriel
* Réécriture des dialogues d'intro et d'échec
* Changements mineurs sur des dialogues et traduction
* Les graines apparaissent avec déjà une mutation
* Limitation du Talion autour de la station de recharge
* Fix de l'ascenseur dans la base Astra
* Ajout d'un effet visuel quand il n'y a plus d'énergie
* Le nombre de graine apparrait désormais dans l'inspécteur de plantes
* Ajout d'un petit icône de progrès de durée de vie de la plante au survol
* Ajout d'une description de la signification des icônes dans le menu pause
* La mutation éphémère réduit désormais la durée de vie de 1
This commit is contained in:
2026-03-13 11:40:31 +01:00
parent 2cd16acd6a
commit 76707171fa
45 changed files with 430 additions and 177 deletions

View File

@@ -10,6 +10,21 @@ var indicators : Array[InGameIndicator]
@export var region : Region
@onready var steps : Array[Step] = [
Step.new(
"MOVE_WITH_RIGHT_CLICK_OR_WASD",
(func ():
return player.global_position.distance_to(region.data.player_spawn) > 30)
),
Step.new(
"SELECT_ITEM_WITH_SCROLL_CLICK_OR_NUMBER",
(func ():
return player.data.inventory.current_item_ind != player.data.inventory.n_tools)
),
Step.new(
"LEFT_CLICK_TO_USE_ITEMS",
(func ():
return player.data.inventory.get_item() and Input.is_action_just_pressed("action"))
),
Step.new(
"USE_YOUR_DETECTOR_TO_FIND_THE_BATTERY",
(func ():
@@ -24,12 +39,19 @@ var indicators : Array[InGameIndicator]
return false)
),
Step.new(
"TAKE_A_SEED",
"TAKE_A_SEED_BY_CLICKING_ON_IT",
(func ():
return player.data.inventory.items.find_custom(
func(i:Item): return i is Seed
) != -1)
),
Step.new(
"DROP_SEED_WITH_KEY",
(func ():
return (
Input.is_action_pressed("drop"))
)
),
Step.new(
"PLANT_SEED_IN_FERTILE_ZONE",
(func ():
@@ -49,26 +71,10 @@ var indicators : Array[InGameIndicator]
return region.data.get_score() != 0)
),
Step.new(
"DISCOVER_A_SEED_WITH_A_MUTATION",
"HARVEST_A_MATURE_PLANT",
(func ():
for e in region.entity_container.get_children():
if e is ItemObject and e.item is Seed and len(e.item.plant_mutations):
return true
return false)
),
Step.new(
"PLANT_A_SEED_WITH_A_MUTATION",
(func ():
for e in region.entity_container.get_children():
if e is Plant and len(e.data.mutations):
return true
return false)
),
Step.new(
"HARVEST_A_MATURE_PLANT_WITH_A_MUTATION",
(func ():
for e in region.entity_container.get_children():
if e is Plant and e.harvested and len(e.data.mutations):
if e is Plant and e.harvested:
return true
return false)
),
@@ -98,10 +104,15 @@ func _process(_d):
for i in len(steps):
var step := steps[i]
var step_gui := %Steps.get_children()[i] as TutorialStepGui
step.update_succeeded()
step_gui.suceeded = step.succeeded
if not step.succeeded:
success = false
step_gui.visible = i == 0 or steps[i-1].succeeded
if step_gui.visible:
var old_succeeded = step.succeeded
step.update_succeeded()
if old_succeeded != step.succeeded: # Put a delay so two state don't collide
return
step_gui.suceeded = step.succeeded
if not step.succeeded:
success = false
if success:
finish_tutorial()