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:
2026-05-27 19:13:32 +02:00
parent 7764943714
commit 7b09f2ba7c
289 changed files with 8802 additions and 1520 deletions

View File

@@ -76,6 +76,7 @@ func update_rotation(delta):
func set_announce_object(object := announce_object):
Pointer.action_disabled = not object
if is_node_ready() and object:
for children in %AnnouceObject.get_children():
children.queue_free()

View File

@@ -6,7 +6,6 @@
[ext_resource type="PackedScene" uid="uid://brfsapvj2quxm" path="res://gui/game/energy_info/energy_info.tscn" id="4_2wykm"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="6_2wykm"]
[ext_resource type="PackedScene" uid="uid://df0eop555wfj5" path="res://gui/game/objective_progress_bar/objective_progress_bar.tscn" id="6_dr1y2"]
[ext_resource type="Texture2D" uid="uid://bt3g5bmar0icf" path="res://common/icons/growth.svg" id="6_id0t5"]
[ext_resource type="PackedScene" uid="uid://clicjf8ts51h8" path="res://gui/game/inventory_gui/inventory_gui.tscn" id="9_id0t5"]
[ext_resource type="PackedScene" uid="uid://cgbjmw75alfeo" path="res://gui/game/help/help.tscn" id="10_id0t5"]
@@ -20,10 +19,6 @@ fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(1.5, 0.5)
[sub_resource type="LabelSettings" id="LabelSettings_id0t5"]
font = ExtResource("6_2wykm")
font_size = 40
[sub_resource type="Animation" id="Animation_rcm5b"]
length = 0.001
tracks/0/type = "value"
@@ -39,6 +34,45 @@ tracks/0/keys = {
"values": [0]
}
[sub_resource type="Animation" id="Animation_h6540"]
resource_name = "bounce"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(),
"transitions": PackedFloat32Array(),
"update": 0,
"values": []
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(),
"transitions": PackedFloat32Array(),
"update": 0,
"values": []
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("%ObjectiveLabel/..:scale")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(),
"transitions": PackedFloat32Array(),
"update": 0,
"values": []
}
[sub_resource type="Animation" id="Animation_ajf5p"]
resource_name = "bump"
length = 0.4
@@ -58,10 +92,12 @@ tracks/0/keys = {
[sub_resource type="AnimationLibrary" id="AnimationLibrary_jomh8"]
_data = {
&"RESET": SubResource("Animation_rcm5b"),
&"bounce": SubResource("Animation_h6540"),
&"bump": SubResource("Animation_ajf5p")
}
[node name="GameGui" type="CanvasLayer" unique_id=274698556]
layer = 2
script = ExtResource("1_udau0")
[node name="NoEnergyVignette" type="TextureRect" parent="." unique_id=1917087264]
@@ -89,6 +125,9 @@ grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="Help" parent="." unique_id=152252336 instance=ExtResource("10_id0t5")]
unique_name_in_owner = true
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=2054297293]
anchors_preset = 15
anchor_right = 1.0
@@ -115,23 +154,6 @@ layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
[node name="SimplePlantPointScore" type="HBoxContainer" parent="MarginContainer/VBoxContainer" unique_id=973032799]
unique_name_in_owner = true
layout_mode = 2
theme_override_constants/separation = 0
alignment = 1
[node name="TextureRect" type="TextureRect" parent="MarginContainer/VBoxContainer/SimplePlantPointScore" unique_id=534916675]
layout_mode = 2
texture = ExtResource("6_id0t5")
[node name="SimplePlantPointScoreLabel" type="Label" parent="MarginContainer/VBoxContainer/SimplePlantPointScore" unique_id=1961035876]
unique_name_in_owner = true
layout_mode = 2
text = "0 Plant Point"
label_settings = SubResource("LabelSettings_id0t5")
horizontal_alignment = 1
[node name="ObjectiveContainer" type="MarginContainer" parent="MarginContainer/VBoxContainer" unique_id=946367772]
layout_mode = 2
mouse_filter = 2
@@ -142,7 +164,7 @@ theme_override_constants/margin_bottom = 0
[node name="ObjectiveLabel" type="RichTextLabel" parent="MarginContainer/VBoxContainer/ObjectiveContainer" unique_id=2044989003]
unique_name_in_owner = true
custom_minimum_size = Vector2(600, 0)
custom_minimum_size = Vector2(1000, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 0
@@ -155,13 +177,12 @@ theme_override_fonts/normal_font = ExtResource("6_2wykm")
theme_override_fonts/bold_font = ExtResource("6_2wykm")
theme_override_fonts/bold_italics_font = ExtResource("6_2wykm")
theme_override_fonts/italics_font = ExtResource("6_2wykm")
theme_override_font_sizes/normal_font_size = 40
theme_override_font_sizes/bold_font_size = 40
theme_override_font_sizes/bold_italics_font_size = 40
theme_override_font_sizes/italics_font_size = 40
theme_override_font_sizes/mono_font_size = 40
theme_override_font_sizes/normal_font_size = 50
theme_override_font_sizes/bold_font_size = 50
theme_override_font_sizes/bold_italics_font_size = 50
theme_override_font_sizes/italics_font_size = 50
theme_override_font_sizes/mono_font_size = 50
bbcode_enabled = true
text = "Action en cours Action en cours Action en cours Action en cours Action en cours "
fit_content = true
horizontal_alignment = 1
@@ -173,6 +194,3 @@ libraries/ = SubResource("AnimationLibrary_jomh8")
layout_mode = 2
size_flags_horizontal = 1
size_flags_vertical = 8
[node name="Help" parent="MarginContainer" unique_id=152252336 instance=ExtResource("10_id0t5")]
layout_mode = 2

File diff suppressed because it is too large Load Diff

View File

@@ -2,9 +2,9 @@
[ext_resource type="Texture2D" uid="uid://bt3g5bmar0icf" path="res://common/icons/growth.svg" id="1_yxwcd"]
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="2_wxnr5"]
[ext_resource type="Texture2D" uid="uid://d3ksdxepcjoot" path="res://common/icons/calendar-week.svg" id="3_t30ml"]
[ext_resource type="Texture2D" uid="uid://cgmxjom200bej" path="res://common/icons/chevrons-up.svg" id="4_d4ybk"]
[ext_resource type="Texture2D" uid="uid://b34qiqb1mslm" path="res://common/icons/clock-up.svg" id="4_yxwcd"]
[ext_resource type="Texture2D" uid="uid://dhy4ewvqvlxyi" path="res://common/icons/clock.svg" id="5_3lk2g"]
[ext_resource type="Texture2D" uid="uid://bgkivv66x80oj" path="res://common/icons/clock-death.svg" id="5_wxnr5"]
[ext_resource type="Texture2D" uid="uid://c2qg7ikkylfv4" path="res://common/icons/seeds.svg" id="6_tr36d"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="7_ubf5w"]
[ext_resource type="Texture2D" uid="uid://cymrmhsihkj44" path="res://common/icons/recharge.svg" id="8_uvt1i"]
@@ -38,7 +38,7 @@ theme_override_constants/separation = 4
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("3_t30ml")
texture = ExtResource("5_3lk2g")
expand_mode = 1
stretch_mode = 5
@@ -56,7 +56,7 @@ theme_override_constants/separation = 4
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("4_d4ybk")
texture = ExtResource("4_yxwcd")
expand_mode = 1
stretch_mode = 5
@@ -74,7 +74,7 @@ theme_override_constants/separation = 4
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("5_3lk2g")
texture = ExtResource("5_wxnr5")
expand_mode = 1
stretch_mode = 5

View File

@@ -0,0 +1,118 @@
extends Control
class_name Help
signal tutorial_passed
func _ready():
%EnergyTutorial.hide()
%PlantInfoTutorial.hide()
%MutationTutorial.hide()
%PlantpointsTutorial.hide()
func display_energy_tutorial():
%EnergyTutorialInfo.update(3,3,false)
%EnergyTutorialAnimationPlayer.play("appear")
Pointer.action_disabled = true
func display_plant_info_tutorial(
with_card_info : CardInfo = get_false_plant_card_info()
):
%PlantInfoCard.info = with_card_info
%PlantInfoCard.update()
%PlantInfoTutorialAnimationPlayer.play("appear")
Pointer.action_disabled = true
func display_mutations_tutorial(with_card_info : CardInfo = get_false_plant_card_info(true)):
%MutationCard.info = with_card_info
%MutationCard.update()
%MutationTutorialAnimationPlayer.play("appear")
Pointer.action_disabled = true
func display_plant_point_tutorial():
%PlantPointTutorialAnimationPlayer.play("appear")
Pointer.action_disabled = true
func get_false_plant_card_info(with_mutation = false):
var data = PlantData.new()
var info = CardInfo.new(
data.plant_name,
tr("MATURE") if data.is_mature() else tr("JUVENILE")
)
info.important_stat_icon = Plant.SCORE_ICON
info.important_stat_text = "%d" % 0
info.type_icon = Plant.PLANT_TYPE_ICON
info.stats.append_array([
CardStatInfo.new(
str(1),
Plant.DURATION_ICON
),
CardStatInfo.new(
str(2),
Plant.GROWING_ICON
),
CardStatInfo.new(
str(6),
Plant.LIFETIME_ICON
),
CardStatInfo.new(
str(1),
Plant.SEED_ICON
),
])
if with_mutation:
info.sections.append(AncientMutation.new().card_section())
return info
func _on_energy_button_tutorial_button_down():
display_energy_tutorial()
func _on_plant_button_tutorial_button_down():
display_plant_info_tutorial()
func _on_mutation_button_tutorial_button_down():
display_mutations_tutorial()
func _on_plant_point_button_tutorial_button_down():
display_plant_point_tutorial()
func _on_energy_ok_button_button_down():
%EnergyTutorialAnimationPlayer.play_backwards("appear")
tutorial_passed.emit()
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click
func():
Pointer.action_disabled = false
)
func _on_plant_info_ok_button_button_down():
%PlantInfoTutorialAnimationPlayer.play_backwards("appear")
tutorial_passed.emit()
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click
func():
Pointer.action_disabled = false
)
func _on_mutation_ok_button_button_down():
%MutationTutorialAnimationPlayer.play_backwards("appear")
tutorial_passed.emit()
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click
func():
Pointer.action_disabled = false
)
func _on_plant_point_ok_button_button_down():
%PlantPointTutorialAnimationPlayer.play_backwards("appear")
tutorial_passed.emit()
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click
func():
Pointer.action_disabled = false
)

View File

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

View File

@@ -58,6 +58,7 @@ script = ExtResource("1_0pm4g")
[node name="Background" type="ColorRect" parent="." unique_id=527935985]
unique_name_in_owner = true
modulate = Color(1, 1, 1, 0)
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0

View File

@@ -12,15 +12,15 @@ var score_mirror :
var objective_text : String = "" : set = set_objective_text
@onready var help : Help = %Help
func _ready():
GameInfo.game_data.current_region_data.updated.connect(_on_region_updated)
GameInfo.game_data.player_data.updated.connect(_on_player_updated)
%ObjectiveProgressBar.visible = (
not GameInfo.game_data.current_run.story_step is TutorialStoryStep
and not GameInfo.game_data.current_region_data.objective_disabled
)
%SimplePlantPointScore.visible = GameInfo.game_data.current_run.story_step is TutorialStoryStep
show_progress_bar()
show_energy()
show_help()
state_update(GameInfo.game_data.current_region_data)
player_update(GameInfo.game_data.player_data, false)
@@ -91,11 +91,6 @@ func score_update(with_animation = true):
)
else:
%ObjectiveProgressBar.set_progress(objective_progression)
if score_mirror > 1:
%SimplePlantPointScoreLabel.text = tr("%d_PLANT_POINTS") % score_mirror
else :
%SimplePlantPointScoreLabel.text = tr("%d_PLANT_POINT") % score_mirror
func state_update(region_data : RegionData):
if region_data.state == RegionData.State.SUCCEEDED:
@@ -153,13 +148,24 @@ func spawn_score_particle(
func set_objective_text(v : String = objective_text):
print(v)
var old_v = objective_text
objective_text = v
if is_node_ready():
if is_node_ready() and old_v != objective_text:
if (objective_text != "" and objective_text != %ObjectiveLabel.text):
%ObjectiveAnimationPlayer.play("bump")
AudioManager.play_sfx("Screen_interaction")
%ObjectiveLabel.text = v
func show_energy(shown = true):
%EnergyInfo.visible = shown
func show_progress_bar(shown = true):
%ObjectiveProgressBar.visible = shown
func show_help(shown = true):
%Help.visible = shown
func _on_player_action_tried_without_energy():
$AnimationPlayer.play("no_energy_left")

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c7i8bkcu0u72e"
path="res://.godot/imported/energy_action.png-78edf534b0f3cf8bde7178e2b27a0840.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://gui/game/tutorial/assets/screenshots/energy_action.png"
dest_files=["res://.godot/imported/energy_action.png-78edf534b0f3cf8bde7178e2b27a0840.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://btwx21fgon3dg"
path="res://.godot/imported/energy_recharge.png-a4a18ca1bcc25ffb8310b07394462ac8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://gui/game/tutorial/assets/screenshots/energy_recharge.png"
dest_files=["res://.godot/imported/energy_recharge.png-a4a18ca1bcc25ffb8310b07394462ac8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://djkeblhpnmlmj"
path="res://.godot/imported/energy_ui.png-3270746347ccdd2f797fdf43c6576ee8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://gui/game/tutorial/assets/screenshots/energy_ui.png"
dest_files=["res://.godot/imported/energy_ui.png-3270746347ccdd2f797fdf43c6576ee8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cw48n6wwm3532"
path="res://.godot/imported/plant_0.png-1b1b48171b0989155a38f07d25f287b2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://gui/game/tutorial/assets/screenshots/plant_0.png"
dest_files=["res://.godot/imported/plant_0.png-1b1b48171b0989155a38f07d25f287b2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://u5bnylgucusj"
path="res://.godot/imported/plant_1.png-a1d3bc512419a4ed928835653975edd0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://gui/game/tutorial/assets/screenshots/plant_1.png"
dest_files=["res://.godot/imported/plant_1.png-a1d3bc512419a4ed928835653975edd0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dxlmkke65jq02"
path="res://.godot/imported/plant_2.png-f84030e7239b73a42d9978b90962f9bc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://gui/game/tutorial/assets/screenshots/plant_2.png"
dest_files=["res://.godot/imported/plant_2.png-f84030e7239b73a42d9978b90962f9bc.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://36fgprolvrk6"
path="res://.godot/imported/plant_4.png-784468d11f7412a9c8e4803bc1970149.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://gui/game/tutorial/assets/screenshots/plant_4.png"
dest_files=["res://.godot/imported/plant_4.png-784468d11f7412a9c8e4803bc1970149.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cuqx6w5eo7j3"
path="res://.godot/imported/plant_points.png-4f47be7a779fd1b37b6784812ea3fe31.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://gui/game/tutorial/assets/screenshots/plant_points.png"
dest_files=["res://.godot/imported/plant_points.png-4f47be7a779fd1b37b6784812ea3fe31.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@@ -43,7 +43,12 @@ var success = false
"RECHARGE_IN_THE_RECHARGE_STATION",
(func ():
return region and region.data and not region.data.in_passing_day_animation and region.data.day != 1),
(func (): GameInfo.game_data.player_data.inventory.add_item(Pickaxe.new()))
(func ():
game_gui.show_energy()
game_gui.show_help()
game_gui.help.display_energy_tutorial()
await game_gui.help.tutorial_passed
GameInfo.game_data.player_data.inventory.add_item(Pickaxe.new()))
),
Step.new(
"DIG_A_TALION_VEIN_WITH_SHOVEL",
@@ -60,17 +65,24 @@ var success = false
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 ():
for e in region.entity_container.get_children():
if e is Plant:
display_plant_info_tutorial(e.card_info())
game_gui.help.display_plant_info_tutorial(e.card_info())
return true
return false)
),
Step.new(
"GAIN_FIRST_PLANT_POINT",
"WAIT_FOR_THE_PLANT_MATURATION",
(func ():
return region and region.data and not region.data.in_passing_day_animation and region.data.get_score() != 0),
(func (): GameInfo.game_data.player_data.inventory.add_item(Fork.new()))
@@ -88,24 +100,27 @@ var success = false
(func ():
for s in player.data.inventory.seeds:
if s is Seed and len(s.plant_mutations) > 0:
display_mutations_tutorial(s.card_info())
game_gui.help.display_mutations_tutorial(s.card_info())
return true
return false),
(func ():
await game_gui.help.tutorial_passed
game_gui.show_progress_bar()
game_gui.help.display_plant_point_tutorial())
),
Step.new(
"DROP_SEED_WITH_KEY",
(func ():
return (
Input.is_action_pressed("drop"))
)
"HAVE_3_PLANT_POINTS_SIMULTANEOUSLY",
(func (): return region.data.get_score() >= 3)
),
]
func _ready():
setup_gui()
show()
%PlantInfoTutorial.hide()
%MutationTutorial.hide()
game_gui.show_energy(false)
game_gui.show_progress_bar(false)
game_gui.show_help(false)
func setup_gui():
for s in %Steps.get_children():
@@ -145,37 +160,6 @@ func finish_tutorial():
succeded.emit()
success = true
func display_plant_info_tutorial(with_card_info : CardInfo):
%PlantInfoCard.info = with_card_info
AudioManager.play_sfx("Reveal")
%PlantInfoCard.update()
%PlantInfoTutorialAnimationPlayer.play("appear")
Pointer.action_disabled = true
func display_mutations_tutorial(with_card_info : CardInfo):
%MutationCard.info = with_card_info
AudioManager.play_sfx("Reveal")
%MutationCard.update()
%MutationTutorialAnimationPlayer.play("appear")
Pointer.action_disabled = true
func _on_plant_info_ok_button_button_down():
%PlantInfoTutorialAnimationPlayer.play_backwards("appear")
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click
func():
Pointer.action_disabled = false
)
func _on_mutation_ok_button_button_down():
%MutationTutorialAnimationPlayer.play_backwards("appear")
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click
func():
Pointer.action_disabled = false
)
class Step:
var text : String : get = get_text

View File

@@ -4,19 +4,6 @@
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="2_1wikm"]
[ext_resource type="Texture2D" uid="uid://1ynlp05wj0hm" path="res://common/icons/rocket.svg" id="3_8kuag"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="4_1wikm"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="6_hgus1"]
[ext_resource type="PackedScene" uid="uid://753270jjxmfg" path="res://gui/game/card/card.tscn" id="6_vg3tr"]
[ext_resource type="Texture2D" uid="uid://bgi4rc50par30" path="res://common/icons/arrow-narrow-right.svg" id="7_6k6bq"]
[ext_resource type="Texture2D" uid="uid://bd6qddv5ihkjr" path="res://common/icons/bucket.svg" id="7_ug5yk"]
[ext_resource type="Script" uid="uid://dj2pv1hiwjfv0" path="res://gui/game/card/scripts/card_info.gd" id="8_hgus1"]
[ext_resource type="Script" uid="uid://dgbh38j13g5kn" path="res://gui/game/card/scripts/card_section_info.gd" id="9_6k6bq"]
[ext_resource type="Texture2D" uid="uid://b752eqq4cm7ve" path="res://common/icons/building-factory-2.svg" id="10_58nqq"]
[ext_resource type="Script" uid="uid://b4tkium34c831" path="res://gui/game/card/scripts/card_stat_info.gd" id="11_ebkn5"]
[ext_resource type="Texture2D" uid="uid://dg00xnpp6ixls" path="res://common/icons/server-2.svg" id="12_2pmxd"]
[ext_resource type="Texture2D" uid="uid://baaujfw8piywi" path="res://common/icons/dna.svg" id="13_1lrfc"]
[ext_resource type="Texture2D" uid="uid://bsvxhafoxwmw0" path="res://common/icons/cube-3d-sphere.svg" id="14_e6tpi"]
[ext_resource type="Texture2D" uid="uid://7oh782g7ngop" path="res://common/icons/arrow-narrow-left.svg" id="17_58nqq"]
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="18_6k6bq"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_x7cwm"]
bg_color = Color(0.18, 0.18, 0.18, 0.48235294)
@@ -29,141 +16,6 @@ corner_radius_bottom_left = 20
font = ExtResource("4_1wikm")
font_size = 20
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ebkn5"]
[sub_resource type="Resource" id="Resource_ditr3"]
script = ExtResource("9_6k6bq")
title_text = "Mutations"
title_icon = ExtResource("10_58nqq")
text = "This is a mutation"
metadata/_custom_type_script = "uid://dgbh38j13g5kn"
[sub_resource type="Resource" id="Resource_ikhlb"]
script = ExtResource("11_ebkn5")
text = "8"
icon = ExtResource("12_2pmxd")
metadata/_custom_type_script = "uid://b4tkium34c831"
[sub_resource type="Resource" id="Resource_puixe"]
script = ExtResource("8_hgus1")
title = "Hello"
subtitle = "Mature"
texture = ExtResource("13_1lrfc")
important_stat_text = "8"
important_stat_icon = ExtResource("7_ug5yk")
stats = Array[ExtResource("11_ebkn5")]([SubResource("Resource_ikhlb")])
sections = Array[ExtResource("9_6k6bq")]([SubResource("Resource_ditr3")])
metadata/_custom_type_script = "uid://dj2pv1hiwjfv0"
[sub_resource type="Animation" id="Animation_6k6bq"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MarginContainer:theme_override_constants/separation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [12]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:modulate:a")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Background:modulate:a")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_58nqq"]
resource_name = "appear"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MarginContainer:theme_override_constants/separation")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.06666666, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [183, 12]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:modulate:a")
tracks/2/interp = 2
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 1.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Background:modulate:a")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.06666667, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.8]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ebkn5"]
_data = {
&"RESET": SubResource("Animation_6k6bq"),
&"appear": SubResource("Animation_58nqq")
}
[node name="Tutorial" type="CanvasLayer" unique_id=36887292]
script = ExtResource("1_ie1q8")
metadata/_edit_horizontal_guides_ = [369.0]
@@ -208,267 +60,3 @@ label_settings = SubResource("LabelSettings_8kuag")
[node name="Steps" type="VBoxContainer" parent="MarginContainer/TutorialStepsPanelContainer/MarginContainer/VBoxContainer" unique_id=125170550]
unique_name_in_owner = true
layout_mode = 2
[node name="PlantInfoTutorial" type="Control" parent="." unique_id=1586592931]
unique_name_in_owner = true
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Background" type="ColorRect" parent="PlantInfoTutorial" unique_id=35513528]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.037180007, 0.020800002, 0.13, 1)
[node name="MarginContainer" type="VBoxContainer" parent="PlantInfoTutorial" unique_id=1757534024]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 12
alignment = 1
[node name="Title" type="Label" parent="PlantInfoTutorial/MarginContainer" unique_id=1842689362]
layout_mode = 2
text = "PLANTS_INFO"
label_settings = ExtResource("6_hgus1")
horizontal_alignment = 1
[node name="Subtitle" type="Label" parent="PlantInfoTutorial/MarginContainer" unique_id=656340742]
layout_mode = 2
text = "OBTAIN_INFORMATION_ON_PLANTS_WHILE_HOVERING_PLANTS_BASE"
horizontal_alignment = 1
[node name="GridContainer" type="GridContainer" parent="PlantInfoTutorial/MarginContainer" unique_id=1124442982]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
columns = 3
[node name="VBoxContainer" type="VBoxContainer" parent="PlantInfoTutorial/MarginContainer/GridContainer" unique_id=1598939949]
layout_mode = 2
theme_override_constants/separation = 8
[node name="HBoxContainer" type="HBoxContainer" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer" unique_id=1972134386]
layout_mode = 2
alignment = 1
[node name="Label" type="RichTextLabel" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer/HBoxContainer" unique_id=263525139]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
bbcode_enabled = true
text = "PLANT_NAME_TEXT"
fit_content = true
scroll_active = false
vertical_alignment = 1
[node name="TextureRect" type="TextureRect" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer/HBoxContainer" unique_id=1507687253]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 8
texture = ExtResource("7_6k6bq")
stretch_mode = 5
[node name="HBoxContainer3" type="HBoxContainer" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer" unique_id=483641916]
layout_mode = 2
alignment = 1
[node name="Label2" type="RichTextLabel" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer/HBoxContainer3" unique_id=553756431]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
bbcode_enabled = true
text = "PLANT_STATS_TEXT"
fit_content = true
scroll_active = false
vertical_alignment = 1
[node name="TextureRect" type="TextureRect" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer/HBoxContainer3" unique_id=953954556]
layout_mode = 2
size_flags_vertical = 0
texture = ExtResource("7_6k6bq")
stretch_mode = 5
[node name="VBoxContainer3" type="VBoxContainer" parent="PlantInfoTutorial/MarginContainer/GridContainer" unique_id=1226314631]
layout_mode = 2
[node name="HSeparator" type="HSeparator" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer3" unique_id=591048390]
layout_mode = 2
theme_override_constants/separation = 30
theme_override_styles/separator = SubResource("StyleBoxEmpty_ebkn5")
[node name="PlantInfoCard" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer3" unique_id=1085885349 instance=ExtResource("6_vg3tr")]
unique_name_in_owner = true
custom_minimum_size = Vector2(350, 0)
layout_mode = 2
info = SubResource("Resource_puixe")
[node name="VBoxContainer2" type="VBoxContainer" parent="PlantInfoTutorial/MarginContainer/GridContainer" unique_id=906180848]
layout_mode = 2
theme_override_constants/separation = 8
[node name="HSeparator" type="HSeparator" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer2" unique_id=760754866]
layout_mode = 2
theme_override_constants/separation = 32
theme_override_styles/separator = SubResource("StyleBoxEmpty_ebkn5")
[node name="HBoxContainer" type="HBoxContainer" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer2" unique_id=383033253]
layout_mode = 2
alignment = 1
[node name="TextureRect" type="TextureRect" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer2/HBoxContainer" unique_id=475071884]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("17_58nqq")
stretch_mode = 5
[node name="Label2" type="RichTextLabel" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer2/HBoxContainer" unique_id=1479217505]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
bbcode_enabled = true
text = "PLANT_SCORE_TEXT"
fit_content = true
scroll_active = false
horizontal_alignment = 2
vertical_alignment = 1
[node name="HBoxContainer2" type="HBoxContainer" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer2" unique_id=2062134463]
visible = false
layout_mode = 2
alignment = 1
[node name="TextureRect" type="TextureRect" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer2/HBoxContainer2" unique_id=392813755]
layout_mode = 2
size_flags_vertical = 4
texture = ExtResource("17_58nqq")
stretch_mode = 5
[node name="Label2" type="RichTextLabel" parent="PlantInfoTutorial/MarginContainer/GridContainer/VBoxContainer2/HBoxContainer2" unique_id=472790254]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
bbcode_enabled = true
text = "PLANT_MUTATION_TEXT"
fit_content = true
scroll_active = false
horizontal_alignment = 2
vertical_alignment = 1
[node name="PlantInfoOkButton" type="Button" parent="PlantInfoTutorial/MarginContainer" unique_id=1684351093]
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("18_6k6bq")
text = "OK"
[node name="PlantInfoTutorialAnimationPlayer" type="AnimationPlayer" parent="PlantInfoTutorial" unique_id=549667783]
unique_name_in_owner = true
libraries/ = SubResource("AnimationLibrary_ebkn5")
[node name="MutationTutorial" type="Control" parent="." unique_id=722588851]
unique_name_in_owner = true
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Background" type="ColorRect" parent="MutationTutorial" unique_id=250614963]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.037180007, 0.020800002, 0.13, 1)
[node name="MarginContainer" type="VBoxContainer" parent="MutationTutorial" unique_id=1821562698]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 12
alignment = 1
[node name="Title" type="Label" parent="MutationTutorial/MarginContainer" unique_id=1928457691]
layout_mode = 2
text = "MUTATIONS"
label_settings = ExtResource("6_hgus1")
horizontal_alignment = 1
[node name="Subtitle" type="Label" parent="MutationTutorial/MarginContainer" unique_id=1467489572]
layout_mode = 2
text = "SEEDS_HAVE_A_CHANCE_TO_GAIN_MUTATIONS"
horizontal_alignment = 1
[node name="GridContainer" type="GridContainer" parent="MutationTutorial/MarginContainer" unique_id=386984353]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
columns = 3
[node name="VBoxContainer3" type="VBoxContainer" parent="MutationTutorial/MarginContainer/GridContainer" unique_id=2005513108]
layout_mode = 2
[node name="HSeparator" type="HSeparator" parent="MutationTutorial/MarginContainer/GridContainer/VBoxContainer3" unique_id=593977172]
layout_mode = 2
theme_override_constants/separation = 30
theme_override_styles/separator = SubResource("StyleBoxEmpty_ebkn5")
[node name="MutationCard" parent="MutationTutorial/MarginContainer/GridContainer/VBoxContainer3" unique_id=1165095240 instance=ExtResource("6_vg3tr")]
unique_name_in_owner = true
custom_minimum_size = Vector2(350, 0)
layout_mode = 2
info = SubResource("Resource_puixe")
[node name="VBoxContainer2" type="VBoxContainer" parent="MutationTutorial/MarginContainer/GridContainer" unique_id=494292951]
layout_mode = 2
theme_override_constants/separation = 8
[node name="HSeparator" type="HSeparator" parent="MutationTutorial/MarginContainer/GridContainer/VBoxContainer2" unique_id=331005698]
layout_mode = 2
theme_override_constants/separation = 120
theme_override_styles/separator = SubResource("StyleBoxEmpty_ebkn5")
[node name="HBoxContainer2" type="HBoxContainer" parent="MutationTutorial/MarginContainer/GridContainer/VBoxContainer2" unique_id=781597357]
layout_mode = 2
alignment = 1
[node name="TextureRect" type="TextureRect" parent="MutationTutorial/MarginContainer/GridContainer/VBoxContainer2/HBoxContainer2" unique_id=281613573]
layout_mode = 2
size_flags_vertical = 4
texture = ExtResource("17_58nqq")
stretch_mode = 5
[node name="Label2" type="RichTextLabel" parent="MutationTutorial/MarginContainer/GridContainer/VBoxContainer2/HBoxContainer2" unique_id=1347221574]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
bbcode_enabled = true
text = "PLANT_MUTATION_TEXT"
fit_content = true
scroll_active = false
horizontal_alignment = 2
vertical_alignment = 1
[node name="MutationOkButton" type="Button" parent="MutationTutorial/MarginContainer" unique_id=1316064682]
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("18_6k6bq")
text = "OK"
[node name="MutationTutorialAnimationPlayer" type="AnimationPlayer" parent="MutationTutorial" unique_id=127058676]
unique_name_in_owner = true
libraries/ = SubResource("AnimationLibrary_ebkn5")
[connection signal="button_down" from="PlantInfoTutorial/MarginContainer/PlantInfoOkButton" to="." method="_on_plant_info_ok_button_button_down"]
[connection signal="button_down" from="MutationTutorial/MarginContainer/MutationOkButton" to="." method="_on_mutation_ok_button_button_down"]