Et toujours du dev pour la béta

* Evolution de l'histoire avec de nouveaux dialogues, une plus grande durée de vie du jeu, des nouvelles zones d'histoire...
* Suppression du mode infini
* Ajout d'un écran des mutations découvertes
* Ajout d'un nouveau mécanisme de respawn situé dans le vaissau
* Ajout de 2 nouveaux modificateurs de région
* Quatre nouveaux artefacts
* Visuel de la décontamination de la planète 3D en cours de la partie
* Ajout d'une annonce visuelle des scène du jeu
* Fix sur la mutation Généreux pour être en accord avec sa description
* Amélioration de l'effet de la mutation Purification
* Fix de la mutation sociale aux niveau supérieurs
* Ajout d'un effet visuel de réacteur sur le joueur 3D
* Fix sur l'annonce de nouveaux objets qui se déclenchaient à une nouvelle run
* Amélioration des animation et des informations données dans le vaisseau
* Correction mineure des traductions
This commit is contained in:
2026-04-28 23:41:36 +02:00
parent 7ae362a3a5
commit 91e266ec85
269 changed files with 4393 additions and 1699 deletions

View File

@@ -0,0 +1,33 @@
extends StoryStep
class_name AstraStoryStep
const MERCURY_ARRIVAL_DIALOG_PATH="res://dialogs/timelines/astra/mercury_arrival.dtl"
func get_respawn_scene() -> Scene:
return AstraScene.new()
func get_destination_text() -> String:
return tr("RELAY_BASE_X") % tr("MERCURY")
func get_destination_scene() -> Scene:
return RelayBaseScene.new(
"MERCURY",
"001"
)
func get_region_sequence_length() -> int:
return 4
func get_first_vending_machine_occurence(_level : int) -> int:
return 0
func get_vending_machine_occurence(_level : int) -> int:
return 0
func get_challenge_chance(_level : int) -> float:
return 0.
func get_ship_dialog_path(level : int, ship_in_space := true) -> String:
if ship_in_space and level == get_region_sequence_length() - 1:
return MERCURY_ARRIVAL_DIALOG_PATH
return ""

View File

@@ -0,0 +1 @@
uid://dolti22admdm8

View File

@@ -0,0 +1,31 @@
extends StoryStep
class_name BetaStoryStep
const VENUS_DEPARTURE_DIALOG_PATH = "res://dialogs/timelines/beta/venus_departure.dtl"
func get_respawn_scene() -> Scene:
return RelayBaseScene.new(
"VENUS",
"002",
true
)
func get_objective_for_region(l : int) -> int:
match l:
0: return 8
1: return 15
_: return get_objective_for_region(l-1) + l * 5
func get_region_sequence_length() -> int:
return 10
func get_destination_text() -> String:
return tr("SECRET_SCENE")
func get_destination_scene() -> Scene:
return BoreaScene.new()
func get_ship_dialog_path(_level : int, _ship_in_space := true) -> String:
return VENUS_DEPARTURE_DIALOG_PATH

View File

@@ -0,0 +1 @@
uid://da8kqgl0xnkpi

View File

@@ -0,0 +1,35 @@
extends StoryStep
class_name MercuryStoryStep
const MERCURY_DEPARTURE_DIALOG_PATH = "res://dialogs/timelines/mercury/mercury_departure.dtl"
const VENUS_ARRIVAL_DIALOG_PATH = "res://dialogs/timelines/mercury/venus_arrival.dtl"
func get_respawn_scene() -> Scene:
return RelayBaseScene.new(
"MERCURY",
"001",
true
)
func get_destination_text() -> String:
return tr("RELAY_BASE_X") % tr("VENUS")
func get_destination_scene() -> Scene:
return RelayBaseScene.new(
"VENUS",
"002"
)
func get_first_vending_machine_occurence(_level : int) -> int:
return 0
func get_vending_machine_occurence(_level : int) -> int:
return 2
func get_ship_dialog_path(level : int, ship_in_space := true) -> String:
if level == 0:
return MERCURY_DEPARTURE_DIALOG_PATH
if ship_in_space and level == get_region_sequence_length() - 1:
return VENUS_ARRIVAL_DIALOG_PATH
return ""

View File

@@ -0,0 +1 @@
uid://cni314l8gb0qx

View File

@@ -0,0 +1,67 @@
@abstract
extends Resource
class_name StoryStep
#region ------------------ Story ------------------
@abstract func get_respawn_scene() -> Scene
@abstract func get_destination_text() -> String
func get_destination_scene() -> Scene:
return BoreaScene.new()
func get_run_progress(level : int) -> int:
return get_region_sequence_length() - level
func get_ship_dialog_path(_level : int, _ship_in_space := true) -> String:
return ""
#region ------------------ Run ------------------
func is_run_finished(level : int) -> bool:
return level == get_region_sequence_length()
func get_region_sequence_length() -> int:
return 6
func get_first_vending_machine_occurence(_level : int) -> int:
return 2
func get_vending_machine_occurence(_level : int) -> int:
return 4
func get_challenge_chance(_level : int) -> float:
return 0.3
func get_run_point_number(level : int) -> int:
if is_run_finished(level):
return 1
return 2
func get_objective_for_region(level : int) -> int:
match level:
0: return 1
1: return 8
2: return 10
3: return 15
4: return 20
5: return 30
_: return get_objective_for_region(level-1) + (level-3) * 5
func get_story_modifiers_for_region(level : int) -> Array[RegionModifier]:
var modifiers : Array[RegionModifier] = []
if is_run_finished(level):
var dest_mod = DestinationModifier.new()
dest_mod.destination_scene = get_destination_scene()
modifiers.append(dest_mod)
return modifiers
func need_gameplay_modifier(level : int):
if is_run_finished(level):
return false
return true
func _on_finish():
GameInfo.game_data.incubator_used = []
GameInfo.game_data.dead_orchid_position = Vector3.ZERO
GameInfo.game_data.dead_orchid_rotation = Vector3.ZERO

View File

@@ -0,0 +1 @@
uid://djyuru5v3rgbb

View File

@@ -0,0 +1,24 @@
extends StoryStep
class_name TutorialStoryStep
const INTRO_DIALOG = "res://dialogs/timelines/tutorial/demeter_intro.dtl"
func get_respawn_scene() -> Scene:
return AstraScene.new()
func get_destination_text() -> String:
return ""
func get_region_sequence_length() -> int:
return 1
func get_destination_scene() -> Scene: return null
func get_story_modifiers_for_region(_n : int) -> Array[RegionModifier]:
return [
TutorialModifier.new()
]
func _on_finish():
pass

View File

@@ -0,0 +1 @@
uid://c5xggvi0aifed