Dev de la démo
* Modification de l'apparence de l'UI des dialogues * Changement de l'ordre de déblocage des mutations * Ajout d'une confirmation pour l'abandon * Ajout de la scène de fin avec la base Boréa, en tant que fin de démo * Modification des icône de durée de vie, temps de pousse, et de mort * Ajout d'un icône au dessus du joueur quand il n'a plus d'énergie * Amélioration des dialogues du jeu * Changement du modèle du téléphone * Ajout de cellule d'énergie et de cellule de talion trouvable sur la carte * Il est à nouveau possible de se recharger après la fin d'une région * Buff des mutations ancien sociale et solide * Modification de la mutation fertile (ne donne de gain de graine qu'à la maturation) * Ajout d'une récupération automatique des graines * Ajout de deux cartons de tutoriel ainsi qu'une option pour les revoir dans l'aide de jeu * Amélioration générale du tutoriel * Ajout d'un écran titre digne de ce nom * Lors de l'arrivée à destination, ne téléporte plus le joueur sur une map vide, mais directement dans les lieux de cinématique * Ajout graphique de plus de pattern de mousse et de roche * Le talion apparait maintenant sur toute la carte * La roche peut désormais apparaitre sur la zone de départ * Ajout dud modificateur de région Canyon * Equilibrage général * Fix de bugs en tout genre
This commit is contained in:
@@ -12,4 +12,4 @@ func get_3d_scene() -> PackedScene:
|
||||
return preload("res://common/game_data/scripts/artefacts/talion_soil/talion_soil.blend")
|
||||
|
||||
func modify_plant_influence_radius(plant_influence_radius : float) -> float:
|
||||
return plant_influence_radius * 1.4
|
||||
return plant_influence_radius * 1.5
|
||||
@@ -28,16 +28,16 @@ func get_all_mutations() -> Array[PlantMutation]:
|
||||
ProlificMutation.new(),
|
||||
PrecociousMutation.new(),
|
||||
PurificationMutation.new(),
|
||||
VivaciousMutation.new(),
|
||||
ToughMutation.new(),
|
||||
QuickMutation.new(),
|
||||
RobustMutation.new(),
|
||||
SocialMutation.new(),
|
||||
VivaciousMutation.new(),
|
||||
FertileMutation.new(),
|
||||
HurriedMutation.new(),
|
||||
GenerousMutation.new(),
|
||||
ProtectiveMutation.new(),
|
||||
PureMutation.new(),
|
||||
ToughMutation.new(),
|
||||
]
|
||||
|
||||
func get_all_artifacts() -> Array[Artefact]:
|
||||
@@ -53,7 +53,7 @@ func get_all_artifacts() -> Array[Artefact]:
|
||||
func get_all_story_steps() -> Array[StoryStep]:
|
||||
return [
|
||||
TutorialStoryStep.new(),
|
||||
AstraStoryStep.new(),
|
||||
StartStoryStep.new(),
|
||||
MercuryStoryStep.new(),
|
||||
BetaStoryStep.new()
|
||||
BoreaStoryStep.new()
|
||||
]
|
||||
|
||||
@@ -96,6 +96,12 @@ func choose_next_run_point(run_point : RunPoint = null) -> RunPoint:
|
||||
next_run_points = generate_next_run_points()
|
||||
return current_run_point
|
||||
|
||||
func get_cockpit_exit_scene() -> Scene:
|
||||
if story_step.is_run_finished(level):
|
||||
return story_step.get_destination_scene()
|
||||
else :
|
||||
return RegionScene.new(GameInfo.game_data.current_region_data)
|
||||
|
||||
#endregion
|
||||
|
||||
#region ------------------ Modifiers ------------------
|
||||
@@ -109,6 +115,7 @@ func generate_normal_modifiers() -> Array[RegionModifier]:
|
||||
ToxicModifier.new(),
|
||||
SandyModifier.new(),
|
||||
MagneticModifier.new(),
|
||||
CanyonModifier.new()
|
||||
]
|
||||
|
||||
func generate_benefic_modifiers() -> Array[RegionModifier]:
|
||||
|
||||
@@ -5,7 +5,7 @@ class_name RunPoint
|
||||
const DANGER_ICON = preload("res://common/icons/skull.svg")
|
||||
const TYPE_ICON = preload("res://common/icons/map-pin.svg")
|
||||
const OBJECTIVE_ICON = preload("res://common/icons/growth.svg")
|
||||
const CHARGE_ICON = preload("res://common/icons/bolt.svg")
|
||||
const CHARGE_ICON = preload("res://common/icons/recharge.svg")
|
||||
|
||||
@export var region_parameter : RegionParameter = RegionParameter.new() :
|
||||
set(v):
|
||||
@@ -27,10 +27,13 @@ func card_info() -> CardInfo:
|
||||
|
||||
info.type_icon = TYPE_ICON
|
||||
|
||||
info.stats.append_array([
|
||||
CardStatInfo.new(str(region_parameter.get_objective()), OBJECTIVE_ICON),
|
||||
CardStatInfo.new(str(region_parameter.get_charge()), CHARGE_ICON),
|
||||
])
|
||||
if region_parameter.modifiers.find_custom(
|
||||
func (m : RegionModifier) : return m is DestinationModifier
|
||||
) == -1:
|
||||
info.stats.append_array([
|
||||
CardStatInfo.new(str(region_parameter.get_objective()), OBJECTIVE_ICON),
|
||||
CardStatInfo.new(str(region_parameter.get_charge()), CHARGE_ICON),
|
||||
])
|
||||
|
||||
for m in region_parameter.modifiers:
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
uid://da8kqgl0xnkpi
|
||||
@@ -62,12 +62,6 @@ func get_story_modifiers_for_region(level : int) -> Array[RegionModifier]:
|
||||
var dest_mod = DestinationModifier.new()
|
||||
dest_mod.destination_scene = get_destination_scene()
|
||||
modifiers.append(dest_mod)
|
||||
|
||||
var first_cave = get_first_cave_occurence(level)
|
||||
var cave_occurence = get_cave_occurence(level)
|
||||
if cave_occurence > 0 and level >= first_cave:
|
||||
if (level - first_cave)%cave_occurence == 0:
|
||||
modifiers.append(CaveModifier.new())
|
||||
|
||||
return modifiers
|
||||
|
||||
@@ -80,6 +74,12 @@ func get_gameplay_modifiers_for_region(level : int) -> Array[RegionModifier]:
|
||||
if vending_occurence > 0 and level >= first_vending:
|
||||
if (level - first_vending)%vending_occurence == 0:
|
||||
modifiers.append(VendingMachineModifier.new())
|
||||
|
||||
var first_cave = get_first_cave_occurence(level)
|
||||
var cave_occurence = get_cave_occurence(level)
|
||||
if cave_occurence > 0 and level >= first_cave:
|
||||
if (level - first_cave)%cave_occurence == 0:
|
||||
modifiers.append(CaveModifier.new())
|
||||
|
||||
return modifiers
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
extends StoryStep
|
||||
class_name TutorialStoryStep
|
||||
|
||||
const INTRO_DIALOG = "res://dialogs/timelines/tutorial/demeter_intro.dtl"
|
||||
const INTRO_DIALOG = "res://dialogs/timelines/1_waking_up/2_demeter_intro.dtl"
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return AstraScene.new()
|
||||
@@ -14,6 +14,10 @@ func get_region_sequence_length() -> int:
|
||||
|
||||
func get_destination_scene() -> Scene: return null
|
||||
|
||||
func need_gameplay_modifier(_level : int): return false
|
||||
|
||||
func get_objective_for_region(_level : int) -> int: return 3
|
||||
|
||||
func get_story_modifiers_for_region(_n : int) -> Array[RegionModifier]:
|
||||
return [
|
||||
TutorialModifier.new()
|
||||
@@ -1,8 +1,8 @@
|
||||
extends StoryStep
|
||||
class_name AstraStoryStep
|
||||
class_name StartStoryStep
|
||||
|
||||
const MERCURY_ARRIVAL_DIALOG_PATH="res://dialogs/timelines/astra/mercury_arrival.dtl"
|
||||
const CAVE_DIALOG_PATH="res://dialogs/timelines/astra/cave.dtl"
|
||||
const MERCURY_ARRIVAL_DIALOG_PATH="res://dialogs/timelines/1_waking_up/5_mercury_arrival.dtl"
|
||||
const CAVE_DIALOG_PATH="res://dialogs/timelines/1_waking_up/4_cave.dtl"
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return AstraScene.new()
|
||||
@@ -2,8 +2,8 @@ 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"
|
||||
const MERCURY_DEPARTURE_DIALOG_PATH = "res://dialogs/timelines/1_waking_up/6_mercury_departure.dtl"
|
||||
const VENUS_ARRIVAL_DIALOG_PATH = "res://dialogs/timelines/1_waking_up/7_venus_arrival.dtl"
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return RelayBaseScene.new(
|
||||
@@ -1,7 +1,7 @@
|
||||
extends StoryStep
|
||||
class_name BetaStoryStep
|
||||
class_name BoreaStoryStep
|
||||
|
||||
const VENUS_DEPARTURE_DIALOG_PATH = "res://dialogs/timelines/beta/venus_departure.dtl"
|
||||
const VENUS_DEPARTURE_DIALOG_PATH = "res://dialogs/timelines/1_waking_up/8_venus_departure.dtl"
|
||||
|
||||
func get_respawn_scene() -> Scene:
|
||||
return RelayBaseScene.new(
|
||||
@@ -12,16 +12,16 @@ func get_respawn_scene() -> Scene:
|
||||
|
||||
func get_objective_for_region(l : int) -> int:
|
||||
match l:
|
||||
0: return 8
|
||||
1: return 15
|
||||
0: return 0
|
||||
1: return 8
|
||||
_: return get_objective_for_region(l-1) + l * 5
|
||||
|
||||
|
||||
func get_region_sequence_length() -> int:
|
||||
return 12
|
||||
return 8
|
||||
|
||||
func get_destination_text() -> String:
|
||||
return tr("SECRET_SCENE")
|
||||
return tr("BOREA_BASE")
|
||||
|
||||
func get_destination_scene() -> Scene:
|
||||
return BoreaScene.new()
|
||||
@@ -0,0 +1 @@
|
||||
uid://cakg2racxgano
|
||||
Reference in New Issue
Block a user