Ajout de l'amélioration du modèle du robot au cours de l'histoire, d'une annonce sur cette amélioration ainsi qu'un succès à l'utilisation de toutes les incubateurs d'orchid dans une base

This commit is contained in:
2026-07-10 16:25:33 +02:00
parent be33225d4d
commit cb5a2421ae
32 changed files with 254 additions and 51 deletions
+4 -1
View File
@@ -41,13 +41,15 @@ func _init(
@export var dead_orchid_rotation : Vector3
@export var item_announced = []
@export var max_energy_announced = PlayerData.DEFAULT_MAX_ENERGY
@export var max_inventory_announced = PlayerData.DEFAULT_INVENTORY_SIZE
@export var dialogs_done : Array[String] = [] #Chemin des dialogues terminés
@export var tutorials_done : Array[String] = []
func start_run() -> RunData:
player_data.clear_inventory()
player_data.update_with_artefacts([])
current_run = RunData.new()
current_run.story_step = progression_data.get_story_step().duplicate_deep()
current_run.generate_next_run_points()
@@ -55,6 +57,7 @@ func start_run() -> RunData:
func(rp : RunPoint):
start_region(rp.region_parameter)
)
player_data.update_with_run_data(current_run)
ship_in_space = false
return current_run
+3 -3
View File
@@ -63,9 +63,9 @@ func get_all_artifacts() -> Array[Artefact]:
func get_all_story_steps() -> Array[StoryStep]:
return [
# TutorialStoryStep.new(),
# StartStoryStep.new(),
# MercuryStoryStep.new(),
TutorialStoryStep.new(),
StartStoryStep.new(),
MercuryStoryStep.new(),
BoreaStoryStep.new(),
AquaStoryStep.new(),
SubterraStoryStep.new(),
+1 -1
View File
@@ -145,6 +145,6 @@ func generate_challenge_modifiers() -> Array[RegionModifier]:
func add_artefacts(a: Artefact):
artefacts.append(a)
GameInfo.game_data.player_data.update_with_artefacts(artefacts)
GameInfo.game_data.player_data.update_with_run_data(self)
#endregion
+7 -1
View File
@@ -28,8 +28,14 @@ func is_run_finished(level : int) -> bool:
func is_region_sequence_infinite() -> bool:
return false
func get_player_max_energy() -> int:
return PlayerData.DEFAULT_MAX_ENERGY
func get_player_max_inventory() -> int:
return PlayerData.DEFAULT_INVENTORY_SIZE
func get_region_sequence_length() -> int:
return 2 #TO CHANGE TO 7
return 3 #TOCHANGE TO 7
func get_first_vending_machine_occurence(_level : int) -> int:
return 2
@@ -26,7 +26,7 @@ func get_destination_scene() -> Scene:
func get_ship_dialog_path(level : int, ship_in_space := true) -> String:
if level == 0:
return MERCURY_DEPARTURE_DIALOG_PATH
if level == 1:
if level == 2:
return VENDING_MACHINE_DIALOG_PATH
if ship_in_space and is_run_finished(level + 1):
return VENUS_ARRIVAL_DIALOG_PATH
@@ -16,6 +16,11 @@ func get_destination_text() -> String:
func get_destination_scene() -> Scene:
return BoreaScene.new()
func get_player_max_energy() -> int:
return 4
func get_player_max_inventory() -> int:
return 3
func get_ship_dialog_path(_level : int, _ship_in_space := true) -> String:
return VENUS_DEPARTURE_DIALOG_PATH
@@ -16,6 +16,12 @@ func get_destination_text() -> String:
func get_destination_scene() -> Scene:
return AquaScene.new()
func get_player_max_energy() -> int:
return 4
func get_player_max_inventory() -> int:
return 4
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
if level == 5:
return AQUA_TRAVEL_PHONE_CALL_DIALOG_PATH
@@ -16,6 +16,12 @@ func get_destination_text() -> String:
func get_destination_scene() -> Scene:
return SubterraScene.new()
func get_player_max_energy() -> int:
return 4
func get_player_max_inventory() -> int:
return 5
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
if level == 5:
return TRAVEL_PHONE_CALL_DIALOG_PATH
@@ -16,6 +16,12 @@ func get_destination_text() -> String:
func get_destination_scene() -> Scene:
return EstiaScene.new()
func get_player_max_energy() -> int:
return 5
func get_player_max_inventory() -> int:
return 5
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
if level == 5:
return TRAVEL_PHONE_CALL_DIALOG_PATH
@@ -16,6 +16,12 @@ func get_destination_text() -> String:
func get_destination_scene() -> Scene:
return AstraEndScene.new()
func get_player_max_energy() -> int:
return 5
func get_player_max_inventory() -> int:
return 6
func get_ship_dialog_path(level : int, _ship_in_space := true) -> String:
if level == 4:
return TRAVEL_PHONE_CALL_DIALOG_PATH
@@ -61,8 +61,11 @@ func spawn_player(relay_base : RelayBase):
GameInfo.game_data.incubator_used.append(
incubators.find(choosen_incubator)
)
if len(possible_incubators) == 1:
SteamConnection.unlock_achievement(SteamConnection.ACH_STW_ALL_CASES)
else:
choosen_incubator = incubators.pick_random()
SteamConnection.unlock_achievement(SteamConnection.ACH_STW_ALL_CASES)
choosen_incubator.used = true
relay_base.player.global_position = choosen_incubator.global_position + Vector3.UP
+2 -1
View File
@@ -15,11 +15,12 @@ const ACH_STW_REPAIR_THE_PLANET="STW_REPAIR_THE_PLANET"
const ACH_STW_HIT_10_INFINITE="STW_HIT_10_INFINITE"
const ACH_STW_HIT_20_INFINITE="STW_HIT_20_INFINITE"
const ACH_STW_HIT_30_INFINITE="STW_HIT_30_INFINITE"
const ACH_STW_ALL_CASES="STW_ALL_CASES"
func unlock_achievement(achivement_name : String):
if Steam.isSteamRunning():
var status = Steam.getAchievement(achivement_name)
print_verbose("Steam Achievement %s" %achivement_name)
print("Steam Achievement %s" % achivement_name)
if status.has("ret") and status.ret and not status.achieved:
Steam.setAchievement(achivement_name)
Steam.storeStats()