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

@@ -72,8 +72,6 @@ func _on_timeline_started():
play_ambiance("Demeter")
"demeter_intro":
play_ambiance("Demeter")
"demeter_introV2":
play_ambiance("Demeter")
"demeter_post_tutorial":
play_ambiance("Demeter")
"failure":

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" class="icon icon-tabler icons-tabler-filled icon-tabler-droplets"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 12.003c.541 0 1.045 .273 1.342 .727l2.122 3.273a3.999 3.999 0 0 1 -6.035 5.063c-1.487 -1.248 -1.864 -3.382 -.867 -5.11l2.098 -3.226a1.6 1.6 0 0 1 1.34 -.727" /><path d="M18 12.003c.541 0 1.045 .273 1.342 .727l2.122 3.273a3.999 3.999 0 0 1 -6.035 5.063c-1.487 -1.248 -1.864 -3.382 -.867 -5.11l2.098 -3.227a1.6 1.6 0 0 1 1.34 -.726" /><path d="M12 2.003c.541 0 1.045 .273 1.342 .727l2.122 3.273a3.999 3.999 0 0 1 -6.035 5.063c-1.487 -1.248 -1.864 -3.382 -.867 -5.11l2.098 -3.226a1.6 1.6 0 0 1 1.34 -.727" /></svg>

After

Width:  |  Height:  |  Size: 738 B

View File

@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bku47nx7clom4"
path="res://.godot/imported/card_tutorial_image.png-a8f51388f4585abed9acb5f7a239ec3a.ctex"
uid="uid://el06htgr2pda"
path="res://.godot/imported/droplets.svg-764db2a63540077d3798513e95cb87e1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://gui/pause/assets/textures/card_tutorial_image.png"
dest_files=["res://.godot/imported/card_tutorial_image.png-a8f51388f4585abed9acb5f7a239ec3a.ctex"]
source_file="res://common/icons/droplets.svg"
dest_files=["res://.godot/imported/droplets.svg-764db2a63540077d3798513e95cb87e1.ctex"]
[params]
@@ -38,3 +38,6 @@ process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1,4 @@
class_name Text
static func bbcode_icon(texture : Texture):
return "[img=22x22]%s[/img]" % texture.resource_path

View File

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

View File

@@ -11,13 +11,13 @@ demeter: I found you a new body,[pause=0.2] and a new ship is waiting for you ou
demeter: Do you need some advices ? #id:18
- No, I'm ok. #id:19
- Can I have some explanations on how all of this works again ? #id:1a
demeter: When you emerge from this building,[pause=0.2] you will reach a little yellowish zone.[pause=0.3] It's a [b]fertile zone[/b],[pause=0.3] brought back by the [color=#119758][b]Talion's[/b][/color] power.[pause=0.5] You can only plant [b]seeds[/b] in this zone. #id:1b
demeter: Then,[pause=0.3] you have to get [b]seeds[/b].[pause=0.5] To do so,[pause=0.2] just take your shovel and smash some stones ![pause=0.5] Focus on those having yellow crystals on it,[pause=0.3] these are [color=#119758][b]Talion veins[/b][/color]. #id:1c
demeter: Each time you use a tool like the shovel or plant a seed,[pause=0.2] you will spend one [b]energy[/b] charge.[pause=0.5] When you are out of it,[pause=0.2] just go recharge it at the [b]recharge station[/b].[pause=0.5] You will find it near the entrance of the base. #id:1d
demeter: Each time you recharge,[pause=0.2] a day will pass,[pause=0.3] your batteries are very inefficient.[pause=0.5] While the day is passing,[pause=0.3] plants will grow ! #id:1e
demeter: You have to produce enough [b]plant points[/b] to fill the [color=#FFA617]Internode's[/color] tanks.[pause=0.5] Each plant gives one or more [b]plant points[/b] when mature. #id:1f
demeter: Oh ! [pause=0.3] I almost forgot,[pause=0.3] some plants can [b]mutate[/b].[pause=0.5] These [b]mutations[/b] alter the points and behavior of the plant affected.[pause=0.5] [b]Mutations[/b] can appear while [b]harvesting[/b] mature plants and even become more powerful if you [b]harvest[/b] an already mutated one. #id:20
demeter: Hope I helped. #id:21
demeter: When you start a region,[pause=0.2] search for the [b]Recharge Station[/b], there is always one near. #id:9c
demeter: Then,[pause=0.3] you'll have to find seeds by smashing some [b]Talion Veins[/b] in the stones with your shovel. #id:9d
demeter: You can then plant seeds in the yellow moss you'll find on the ground, it's the only [b]Fertile Zones[/b]. #id:9e
demeter: When you are out of [b]Energy[/b], you can recharge on the [b]Recharge Station[/b], time will pass and plants will grow. #id:9f
demeter: Each seed is different by their [b]Mutations[/b], and you can get same or better seed from a plant by destroying it when mature, or waiting the end of their lifetime. #id:a0
demeter: Plants generate [b]Plant Points[/b] when mature, get enough plant points to fill the reservoir of the [color=#FFA617]Internode[/color]. #id:a1
demeter: Hope I helped. #id:21
demeter: I'm sending you an elevator,[pause=0.3] see you soon ! #id:22
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
[wait time="2.0"]

View File

@@ -22,12 +22,12 @@ demeter: With the [color=#119758][b]Talion[/b][/color] back on the surface,[paus
demeter: But first things first,[pause=0.3] you have to learn how everything is working up here,[pause=0.2] and how to use the [color=#119758][b]Talion[/b][/color] to plant seeds. #id:36
demeter: [b]Just remember the following[/b] #id:37
label explanations #id:38
demeter: When you emerge from this building,[pause=0.2] you will reach a little yellowish zone.[pause=0.3] It's a [b]fertile zone[/b],[pause=0.3] brought back by the [color=#119758][b]Talion's[/b][/color] power.[pause=0.5] You can only plant [b]seeds[/b] in this zone. #id:39
demeter: Then,[pause=0.3] you have to get [b]seeds[/b].[pause=0.5] To do so,[pause=0.2] just take your shovel and smash some stones ![pause=0.5] Focus on those having yellow crystals on it,[pause=0.3] these are [color=#119758][b]Talion veins[/b][/color]. #id:3a
demeter: Each time you use a tool like the shovel or plant a seed,[pause=0.2] you will spend one [b]energy[/b] charge.[pause=0.5] When you are out of it,[pause=0.2] just go recharge it at the [b]recharge station[/b].[pause=0.5] You will find it near the entrance of the base. #id:3b
demeter: Each time you recharge,[pause=0.2] a day will pass,[pause=0.3] your batteries are very inefficient.[pause=0.5] While the day is passing,[pause=0.3] plants will grow ! #id:3c
demeter: To complete you training,[pause=0.3] obtain enough [b]plant points[/b].[pause=0.5] Each plant gives one or more [b]plant points[/b] when mature. #id:3d
demeter: Oh ! [pause=0.3] I almost forgot,[pause=0.3] some plants can [b]mutate[/b].[pause=0.5] These [b]mutations[/b] alter the points and behavior of the plant affected.[pause=0.5] [b]Mutations[/b] can appear while [b]harvesting[/b] mature plants and even become more powerful if you [b]harvest[/b] an already mutated one. #id:3e
demeter: When you emerge from this building,[pause=0.2] search for the [b]Recharge Station[/b], I think there is one near the entrance. #id:a2
demeter: Then,[pause=0.3] you'll have to find seeds by smashing some [b]Talion Veins[/b] in the stones with your shovel. #id:a3
demeter: You can then plant seeds in the yellow moss you'll find on the ground, it's the only [b]Fertile Zones[/b]. #id:a4
demeter: When you are out of [b]Energy[/b], you can recharge on the [b]Recharge Station[/b], time will pass and plants will grow. #id:a5
demeter: Each seed is different by their [b]Mutations[/b], and you can get same or better seed from a plant by destroying it when mature, or waiting the end of their lifetime. #id:a6
demeter: Plants generate [b]Plant Points[/b] when mature, get enough plant points and you'll complete the training. #id:a7
- That's a lot of information, can you repeat ? #id:3f
demeter: Ok,[pause=0.2] listen carefully. #id:40
jump explanations

View File

@@ -25,6 +25,6 @@ demeter: Humans had one major flaw.[pause=0.5] Together,[pause=0.2] they built g
- What happened ? #id:89
demeter: Sorry my child,[pause=0.3] I'm not ready to talk about that for now.[pause=0.3].[pause=0.3].[pause=0.3] You'll have your answers when you meet me. #id:8a
- Can I know what is this shiny machine just next to me ? #id:8b
demeter: This machine is a planetary ship ![pause=0.5] This model is called [color=#FFA617]Internode[/color],[pause=0.3] I tweaked it to recharge on vegetal energy.[pause=0.5] However,[pause=0.2] as you know,[pause=0.2] this type of energy is uncommon on this planet.[pause=0.5] But let's continue on board,[pause=0.2] shall we ? #id:8c
demeter: The engine you see is a planetary ship ![pause=0.5] This model is called [color=#FFA617]Internode[/color],[pause=0.3] I tweaked it to recharge on vegetal energy.[pause=0.5] However,[pause=0.2] as you know,[pause=0.2] this type of energy is uncommon on this planet.[pause=0.5] But let's continue on board,[pause=0.2] shall we ? #id:8c
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
[wait time="2.0"]

Binary file not shown.

View File

@@ -7,6 +7,10 @@
[sub_resource type="BoxShape3D" id="BoxShape3D_werxl"]
size = Vector3(0.9637451, 1.8898926, 1)
[sub_resource type="CylinderShape3D" id="CylinderShape3D_werxl"]
height = 0.2268219
radius = 1.0737305
[sub_resource type="Animation" id="Animation_0mfvw"]
length = 0.001
tracks/0/type = "value"
@@ -50,19 +54,28 @@ interactable = false
hover_animation_player = NodePath("HoverAnimationPlayer")
[node name="Sprite3D" type="Sprite3D" parent="." unique_id=1624930927]
transform = Transform3D(-4.2294918e-08, 0.17856176, 0.9839286, 7.805184e-09, 0.9839286, -0.17856176, -1, 1.2748912e-10, -4.3008885e-08, -0.8393693, 1.5452437, 0)
transform = Transform3D(-4.2294918e-08, 0.17856175, 0.9839286, 7.805184e-09, 0.9839286, -0.17856175, -1, 1.2749e-10, -4.3008885e-08, -0.8393693, 1.5452437, 0)
texture = ExtResource("2_cun7v")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=525472594]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1801186, 1.1958501, 0)
shape = SubResource("BoxShape3D_werxl")
[node name="Model" parent="." unique_id=1309925933 instance=ExtResource("3_x56sx")]
[node name="Model" parent="." unique_id=1852940735 instance=ExtResource("3_x56sx")]
[node name="OmniLight3D" type="OmniLight3D" parent="." unique_id=11561025]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2593379, 0)
light_color = Color(0.717588, 0.45361686, 0.5535787, 1)
shadow_enabled = true
[node name="RigidBody3D" type="RigidBody3D" parent="." unique_id=618737753]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.26774597, 1.1958501, 0)
gravity_scale = 0.0
freeze = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="RigidBody3D" unique_id=1756356716]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.33335906, -1.2537155, 0)
shape = SubResource("CylinderShape3D_werxl")
[node name="HoverAnimationPlayer" type="AnimationPlayer" parent="." unique_id=487483897]
libraries/ = SubResource("AnimationLibrary_0mfvw")

View File

@@ -125,9 +125,8 @@ shape = SubResource("RectangleShape2D_y51rk")
unique_name_in_owner = true
scale = Vector2(0.33, 0.33)
sprite_frames = SubResource("SpriteFrames_4aafg")
animation = &"close"
frame = 8
frame_progress = 1.0
animation = &"closed"
frame_progress = 0.99532324
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1875435966]
position = Vector2(0.99999994, -41)

View File

@@ -8,6 +8,35 @@
atlas = ExtResource("3_j6jm5")
region = Rect2(76, 75, 124, 135)
[sub_resource type="ViewportTexture" id="ViewportTexture_rbgiq"]
viewport_path = NodePath("LifeTimeSprite/SubViewport")
[sub_resource type="Gradient" id="Gradient_rbgiq"]
interpolation_mode = 1
offsets = PackedFloat32Array(0, 0.800905, 1)
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_rbgiq"]
gradient = SubResource("Gradient_rbgiq")
width = 100
height = 100
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(1, 0.5)
[sub_resource type="Gradient" id="Gradient_j6jm5"]
interpolation_mode = 1
offsets = PackedFloat32Array(0, 0.5248869)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_wyuub"]
gradient = SubResource("Gradient_j6jm5")
width = 100
height = 100
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(1, 0.5)
[sub_resource type="Animation" id="Animation_wyuub"]
length = 0.001
tracks/0/type = "value"
@@ -119,6 +148,30 @@ position = Vector2(4.444448, 31.11118)
scale = Vector2(3.1777775, 3.1777775)
texture = ExtResource("3_rbgiq")
[node name="LifeTimeSprite" type="Sprite2D" parent="." unique_id=799762981]
unique_name_in_owner = true
position = Vector2(-1, -9.999985)
scale = Vector2(0.34, 0.34)
texture = SubResource("ViewportTexture_rbgiq")
[node name="SubViewport" type="SubViewport" parent="LifeTimeSprite" unique_id=1809354262]
disable_3d = true
transparent_bg = true
size = Vector2i(100, 100)
[node name="LifetimeProgressBar" type="TextureProgressBar" parent="LifeTimeSprite/SubViewport" unique_id=967185775]
unique_name_in_owner = true
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 6
size_flags_vertical = 6
fill_mode = 4
texture_over = SubResource("GradientTexture2D_rbgiq")
texture_progress = SubResource("GradientTexture2D_wyuub")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1793068152]
unique_name_in_owner = true
libraries/ = SubResource("AnimationLibrary_8eofq")

View File

@@ -7,11 +7,12 @@ const HARVESTED_SEED_DISPLACEMENT_FACTOR = 100
const RANDOM_MAX_GROW_INTERVAL = Region.MIN_PASS_DAY_ANIMATION_TIME/2. - 0.1
const PLANT_TYPE_ICON = preload("res://common/icons/seedling.svg")
const PLANT_POINT_ICON = preload("res://common/icons/growth.svg")
const LIFETIME_ICON = preload("res://common/icons/calendar-week.svg")
const SCORE_ICON = preload("res://common/icons/growth.svg")
const DURATION_ICON = preload("res://common/icons/calendar-week.svg")
const SHOVEL_ICON = preload("res://common/icons/shovel.svg")
const GROWING_ICON = preload("res://common/icons/chevrons-up.svg")
const DEATH_ICON = preload("res://common/icons/skull.svg")
const LIFETIME_ICON= preload("res://common/icons/skull.svg")
const SEED_ICON = preload("res://common/icons/droplets.svg")
const SPRITE_SCENE : PackedScene = preload("res://entities/plants/plant_sprite.tscn")
@@ -47,11 +48,12 @@ func pointer_text() -> String:
return data.plant_name
func inspect(is_inspected : bool = true):
plant_sprite.modulate = MODULATE_INSPECTED_COLOR if is_inspected else default_modulate
plant_sprite.sprite_modulate = MODULATE_INSPECTED_COLOR if is_inspected else default_modulate
plant_sprite.display_lifetime_sprite = is_inspected
influence_zone.show_influence = is_inspected
func affect_preview(is_affected : bool = true):
plant_sprite.modulate = MODULATE_AFFECTED_COLOR if is_affected else default_modulate
plant_sprite.sprite_modulate = MODULATE_AFFECTED_COLOR if is_affected else default_modulate
func generate_sprite() -> PlantSprite:
var sprite_object : PlantSprite = SPRITE_SCENE.instantiate()
@@ -155,10 +157,10 @@ func save() -> EntityData:
func card_info() -> CardInfo:
var info = CardInfo.new(
data.plant_name,
tr("MATURE") if data.is_mature() else tr("GROWING")# data.archetype.archetype_name
tr("MATURE") if data.is_mature() else tr("JUVENILE")# data.archetype.archetype_name
)
info.important_stat_icon = PLANT_POINT_ICON
info.important_stat_icon = SCORE_ICON
info.important_stat_text = "%d" % calculate_plant_score()
info.type_icon = PLANT_TYPE_ICON
@@ -166,7 +168,7 @@ func card_info() -> CardInfo:
info.stats.append_array([
CardStatInfo.new(
str(data.day),
LIFETIME_ICON
DURATION_ICON
),
CardStatInfo.new(
str(data.get_growing_time()),
@@ -174,7 +176,14 @@ func card_info() -> CardInfo:
),
CardStatInfo.new(
str(data.get_lifetime()),
DEATH_ICON
LIFETIME_ICON
),
CardStatInfo.new(
"%d-%d" % [
data.get_seed_number(PlantData.State.MATURE) - data.get_seed_random_loose(),
data.get_seed_number(PlantData.State.MATURE)
],
SEED_ICON
),
])

View File

@@ -133,7 +133,7 @@ func get_seed_buff() -> int:
var buff = 0
for m in mutations:
buff += m.mutate_seed_buff(self)
buff = m.mutate_seed_buff(self, buff)
return buff

View File

@@ -51,8 +51,8 @@ func mutate_seed_random_loose(_plant_data: PlantData, seed_random_loose) -> int:
func mutate_lifetime_buff(_plant_data: PlantData) -> int:
return 0
func mutate_seed_buff(_plant_data: PlantData) -> int:
return 0
func mutate_seed_buff(_plant_data: PlantData, seed_buff : int) -> int:
return seed_buff
func _start_planted_effect(_plant: Plant):
pass
@@ -78,7 +78,7 @@ func get_rarity() -> int:
func card_section() -> CardSectionInfo:
var section = CardSectionInfo.new(
get_mutation_name() + (" %d" % level if level > 1 else ""),
"[b]%s[/b] %s" % [tr(PlantMutation.get_rarity_text(get_rarity())), get_mutation_description()]
get_mutation_description()
)
section.color = PlantMutation.get_rarity_color(get_rarity())

View File

@@ -13,10 +13,12 @@ func get_mutation_name() -> String:
return tr("ANCIENT")
func get_mutation_description() -> String:
return tr("ANCIENT_EFFECT_TEXT_LEVEL").format(
return tr("ANCIENT_EFFECT_TEXT").format(
{
"score_increase": get_score_increase(),
"day_factor": get_day_factor()
"score_icon": Text.bbcode_icon(Plant.SCORE_ICON),
"day_factor": get_day_factor(),
"duration_icon": Text.bbcode_icon(Plant.DURATION_ICON),
}
)

View File

@@ -11,16 +11,21 @@ func get_mutation_name() -> String:
return tr("EPHEMERAL")
func get_mutation_description() -> String:
return tr("EPHEMERAL_EFFECT_TEXT_LEVEL").format({"seed_number": level, "lifetime_change": get_lifetime_change()})
return tr("EPHEMERAL_EFFECT_TEXT").format({
"seed_number": level,
"seed_icon": Text.bbcode_icon(Plant.SEED_ICON),
"lifetime_change": get_lifetime_change(),
"lifetime_icon": Text.bbcode_icon(Plant.LIFETIME_ICON),
})
func mutate_lifetime(_plant_data: PlantData, lifetime: int) -> int:
return lifetime + get_lifetime_change()
func mutate_seed_number(_plant_data: PlantData, seed_number: int):
return seed_number + level
return seed_number + level + 1
func get_seed_increase() -> int:
return floori((level + 1.0) / 2)
func get_lifetime_change() -> int:
return -2
return -1

View File

@@ -11,7 +11,13 @@ func get_mutation_name() -> String:
return tr("FERTILE")
func get_mutation_description() -> String:
return tr("FERTILE_EFFECT_TEXT_LEVEL_%d") % level
return tr("FERTILE_EFFECT_TEXT").format({
"seed_buff": get_seed_buff(),
"seed_icon": Text.bbcode_icon(Plant.SEED_ICON)
})
func mutate_seed_buff(_plant_data: PlantData) -> int:
func mutate_seed_buff(_plant_data: PlantData, seed_buff) -> int:
return seed_buff + get_seed_buff()
func get_seed_buff():
return level

View File

@@ -11,7 +11,13 @@ func get_mutation_name() -> String:
return tr("PRECOCIOUS")
func get_mutation_description() -> String:
return tr("PRECOCIOUS_EFFECT_TEXT_LEVEL_%d") % level
return tr("PRECOCIOUS_EFFECT_TEXT").format({
"score": get_score(),
"score_icon": Text.bbcode_icon(Plant.SCORE_ICON)
})
func mutate_score(data : PlantData, score : int) -> int:
return score + (0 if data.get_state() == PlantData.State.MATURE else level)
return score + (0 if data.get_state() == PlantData.State.MATURE else get_score())
func get_score():
return level

View File

@@ -11,7 +11,9 @@ func get_mutation_name() -> String:
return tr("PURIFICATION")
func get_mutation_description() -> String:
return tr("PURIFICATION_EFFECT_TEXT_LEVEL_%d") % get_purification_radius()
return tr("PURIFICATION_EFFECT_TEXT").format({
"purification_radius": get_purification_radius()
})
func _start_maturation_effect(plant : Plant):
plant.region.decontaminate(Math.get_tiles_in_circle(

View File

@@ -14,7 +14,13 @@ func get_mutation_name() -> String:
return tr("QUALITY")
func get_mutation_description() -> String:
return tr("QUALITY_EFFECT_TEXT_LEVEL_%d") % level
return tr("QUALITY_EFFECT_TEXT").format({
"score": get_score(),
"score_icon": Text.bbcode_icon(Plant.SCORE_ICON)
})
func mutate_score(data : PlantData, score : int) -> int:
return score + (level if data.get_state() == PlantData.State.MATURE else 0)
return score + (get_score() if data.get_state() == PlantData.State.MATURE else 0)
func get_score():
return level

View File

@@ -11,7 +11,14 @@ func get_mutation_name() -> String:
return tr("QUICK")
func get_mutation_description() -> String:
return tr("QUICK_EFFECT_TEXT_LEVEL").format({"score_increase": get_score_increase(), "lifetime_decrease": get_lifetime_decrease()})
return tr("QUICK_EFFECT_TEXT").format(
{
"score_increase": get_score_increase(),
"lifetime_decrease": get_lifetime_change(),
"score_icon": Text.bbcode_icon(Plant.SCORE_ICON),
"lifetime_icon": Text.bbcode_icon(Plant.LIFETIME_ICON)
}
)
func mutate_score(plant_data: PlantData, score: int) -> int:
if not plant_data.is_mature():
@@ -20,10 +27,10 @@ func mutate_score(plant_data: PlantData, score: int) -> int:
return score + level
func mutate_lifetime(_plant_data: PlantData, lifetime: int) -> int:
return max(1, lifetime-get_lifetime_decrease())
return max(1, lifetime+get_lifetime_change())
func get_score_increase() -> int:
return level * 2
func get_lifetime_decrease() -> int:
return 3
func get_lifetime_change() -> int:
return -3

View File

@@ -13,10 +13,11 @@ func get_mutation_name() -> String:
return tr("SOCIABLE")
func get_mutation_description() -> String:
return tr("SOCIABLE_EFFECT_TEXT_LEVEL").format(
return tr("SOCIABLE_EFFECT_TEXT").format(
{
"near_amount": get_near_plants_around(),
"score_increase": get_score_increase()
"score_increase": get_score_increase(),
"score_icon": Text.bbcode_icon(Plant.SCORE_ICON),
}
)

View File

@@ -11,13 +11,21 @@ func get_mutation_name() -> String:
return tr("TOUGH")
func get_mutation_description() -> String:
return tr("TOUGH_EFFECT_TEXT_LEVEL_%d") % get_growing_time_increase()
return tr("TOUGH_EFFECT_TEXT").format({
"score_icon": Text.bbcode_icon(Plant.SCORE_ICON),
"score_multiplier": get_score_multiplier(),
"growing_time": get_growing_time_increase(),
"growing_icon": Text.bbcode_icon(Plant.GROWING_ICON)
})
func mutate_score_multiplier(_plant_data: PlantData, multiplier: int) -> int:
return multiplier * 2
return multiplier * get_score_multiplier()
func mutate_growing_time(_plant_data: PlantData, growing_time: int) -> int:
return maxi(0, growing_time + get_growing_time_increase())
func get_growing_time_increase()->int:
return 4 - level
func get_score_multiplier()->int:
return 2

View File

@@ -11,7 +11,11 @@ signal harvest_animation_finished
var last_updated_on_state : PlantData.State = PlantData.State.MATURE
var stored_seed_image : Texture = null
var display_lifetime_sprite : bool = false : set = set_display_lifetime_sprite
var sprite_modulate : Color = Color.WHITE : set = set_sprite_modulate
func setup_plant_sprite(plant_data : PlantData):
set_display_lifetime_sprite()
%PlantedSeed.texture = PlantTextureBuilder.build_seed_texture(plant_data.plant_name.hash())
update_plant_sprite(plant_data,true)
@@ -25,6 +29,8 @@ func update_plant_sprite(plant_data : PlantData, with_animation = false):
%PlantedSeed.visible = plant_data.get_state() == PlantData.State.PLANTED
%LifetimeProgressBar.value = 100 * (float(plant_data.day)/plant_data.get_lifetime())
# %PlantedSeed.region_rect = Rect2(
# 0,
# PLANTED_SEED_POS_Y,
@@ -47,3 +53,13 @@ func start_harvest_animation():
$AnimationPlayer.play("harvest")
await $AnimationPlayer.animation_finished
harvest_animation_finished.emit()
func set_display_lifetime_sprite(d := display_lifetime_sprite):
display_lifetime_sprite = d
if is_node_ready():
%LifeTimeSprite.visible = d
func set_sprite_modulate(c := sprite_modulate):
sprite_modulate = c
if is_node_ready():
%Sprite.modulate = c

View File

@@ -40,8 +40,7 @@ static func generate_from_parent(plant_data : PlantData) -> Seed:
static func generate_random() -> Seed:
var archetype = PlantArchetype.get_random()
var random_mutations : Array[PlantMutation] = []
if randf() < MUTATION_PROBABILITY:
random_mutations = ([archetype.available_mutations.pick_random().duplicate_deep()] as Array[PlantMutation])
random_mutations.append(archetype.available_mutations.pick_random().duplicate_deep())
var new_seed = Seed.new(
Random.generate_random_word(),
PlantArchetype.get_random(),

View File

@@ -156,8 +156,11 @@ func pick_item(item : Item):
func drop_item():
var ind_to_drop := data.inventory.current_item_ind
if data.inventory.current_is_tool():
ind_to_drop = data.inventory.n_tools
while (
(data.inventory.get_item(ind_to_drop) == null or ind_to_drop < data.inventory.n_tools)
and ind_to_drop < len(data.inventory.items) - 1
):
ind_to_drop += 1
var item_to_drop = data.inventory.pop_item(ind_to_drop)
if item_to_drop:
terrain.drop_item(item_to_drop, global_position)

View File

@@ -47,10 +47,6 @@ func _physics_process(delta):
)
query_mouse = false
# Add the gravity.
if not is_on_floor():
velocity += get_gravity() * delta
# Get the input direction and handle the movement/deceleration.
# As good practice, you should replace UI actions with custom gameplay actions.
var input_dir = Input.get_vector("move_left", "move_right", "move_up", "move_down")
@@ -64,7 +60,11 @@ func _physics_process(delta):
velocity.x = move_toward(velocity.x, 0, speed)
velocity.z = move_toward(velocity.z, 0, speed)
move_and_slide()
# Add the gravity.
if not is_on_floor():
velocity += get_gravity() * delta
move_and_slide()
func update_mouse_hovered_cockpit_actions() -> void:

View File

@@ -12,6 +12,16 @@
[ext_resource type="Texture2D" uid="uid://b43thuq8piv18" path="res://common/icons/skull.svg" id="7_dr1y2"]
[ext_resource type="PackedScene" uid="uid://clicjf8ts51h8" path="res://gui/game/inventory_gui/inventory_gui.tscn" id="9_id0t5"]
[sub_resource type="Gradient" id="Gradient_ykapk"]
offsets = PackedFloat32Array(0.47639486, 1)
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_p6blc"]
gradient = SubResource("Gradient_ykapk")
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
@@ -19,6 +29,17 @@ font_size = 40
[node name="GameGui" type="CanvasLayer" unique_id=274698556]
script = ExtResource("1_udau0")
[node name="NoEnergyVignette" type="TextureRect" parent="." unique_id=1917087264]
unique_name_in_owner = true
self_modulate = Color(1, 0, 0.43137255, 1)
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = SubResource("GradientTexture2D_p6blc")
[node name="Alert" parent="." unique_id=496897031 instance=ExtResource("2_ykapk")]
unique_name_in_owner = true
modulate = Color(1, 0, 0.43137252, 1)

View File

@@ -30,7 +30,6 @@ func set_item(i : Item = item):
%ItemIconSprite.pixel_size = SPRITE_SIZE / i.icon.get_width()
for j in range(len(i.get_particles())):
print(i.get_particles()[j])
if j == 0:
%ParticleSprite1.visible = true
%ParticleSprite1.texture = i.get_particles()[j].texture

View File

@@ -38,6 +38,17 @@ func player_update(player_data : PlayerData, with_animation = true):
player_data.max_energy,
with_animation
)
if with_animation:
get_tree().create_tween().tween_property(
%NoEnergyVignette,
"modulate:a",
1. if player_data.energy == 0 else 0.,
0.3
)
else:
%NoEnergyVignette.modulate.a = 1. if player_data.energy == 0 else 0.
func _on_region_updated(region_data : RegionData):
await get_tree().create_timer(0.1).timeout

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()

View File

@@ -37,34 +37,34 @@ grow_vertical = 2
mouse_filter = 2
theme = ExtResource("2_1wikm")
[node name="PanelContainer" type="PanelContainer" parent="MarginContainer" unique_id=913156548]
[node name="TutorialStepsPanelContainer" type="PanelContainer" parent="MarginContainer" unique_id=913156548]
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 8
mouse_filter = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_x7cwm")
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/PanelContainer" unique_id=332993244]
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/TutorialStepsPanelContainer" unique_id=332993244]
layout_mode = 2
mouse_filter = 2
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/PanelContainer/MarginContainer" unique_id=1196958295]
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/TutorialStepsPanelContainer/MarginContainer" unique_id=1196958295]
layout_mode = 2
mouse_filter = 2
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/PanelContainer/MarginContainer/VBoxContainer" unique_id=1140176018]
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/TutorialStepsPanelContainer/MarginContainer/VBoxContainer" unique_id=1140176018]
layout_mode = 2
mouse_filter = 2
[node name="TextureRect" type="TextureRect" parent="MarginContainer/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=527978183]
[node name="TextureRect" type="TextureRect" parent="MarginContainer/TutorialStepsPanelContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=527978183]
layout_mode = 2
texture = ExtResource("3_8kuag")
[node name="Label" type="Label" parent="MarginContainer/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=592987672]
[node name="Label" type="Label" parent="MarginContainer/TutorialStepsPanelContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=592987672]
layout_mode = 2
text = "TUTORIAL"
label_settings = SubResource("LabelSettings_8kuag")
[node name="Steps" type="VBoxContainer" parent="MarginContainer/PanelContainer/MarginContainer/VBoxContainer" unique_id=125170550]
[node name="Steps" type="VBoxContainer" parent="MarginContainer/TutorialStepsPanelContainer/MarginContainer/VBoxContainer" unique_id=125170550]
unique_name_in_owner = true
layout_mode = 2

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -11,15 +11,18 @@
[ext_resource type="Texture2D" uid="uid://dex283rx00fjb" path="res://common/icons/logout.svg" id="7_yj6f1"]
[ext_resource type="Texture2D" uid="uid://b43thuq8piv18" path="res://common/icons/skull.svg" id="8_mnkqy"]
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="9_7c7ks"]
[ext_resource type="Texture2D" uid="uid://bku47nx7clom4" path="res://gui/pause/assets/textures/card_tutorial_image.png" id="9_sepn1"]
[ext_resource type="Texture2D" uid="uid://bt3g5bmar0icf" path="res://common/icons/growth.svg" id="10_q8jjs"]
[ext_resource type="Texture2D" uid="uid://bgcymkgxk7mpp" path="res://gui/pause/assets/textures/moss_tutorial_image.png" id="11_mnkqy"]
[ext_resource type="PackedScene" uid="uid://b4qe1dwwsk87t" path="res://gui/menu/controls/controls.tscn" id="11_urlqn"]
[ext_resource type="Texture2D" uid="uid://bhogi5kkltx51" path="res://gui/pause/assets/textures/rock_tutorial_image.png" id="12_mvn7k"]
[ext_resource type="Texture2D" uid="uid://d3ksdxepcjoot" path="res://common/icons/calendar-week.svg" id="12_s2e8t"]
[ext_resource type="Texture2D" uid="uid://3fwhxkd0ycga" path="res://gui/pause/assets/textures/talion_tutorial_image.png" id="13_4n2vt"]
[ext_resource type="Texture2D" uid="uid://cgmxjom200bej" path="res://common/icons/chevrons-up.svg" id="13_4r74r"]
[ext_resource type="Texture2D" uid="uid://el06htgr2pda" path="res://common/icons/droplets.svg" id="14_osk7v"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_58dya"]
shader = ExtResource("2_apjlw")
shader_parameter/strength = 3.3
shader_parameter/strength = 5.00000023424012
shader_parameter/mix_percentage = 0.3
[sub_resource type="LabelSettings" id="LabelSettings_apjlw"]
@@ -177,33 +180,106 @@ layout_mode = 2
size_flags_horizontal = 3
alignment = 1
[node name="TutorialPlants" type="Label" parent="Container/MarginContainer/GridContainer/Tutorial" unique_id=54599107]
[node name="TutorialIcons" type="Label" parent="Container/MarginContainer/GridContainer/Tutorial" unique_id=54599107]
layout_mode = 2
text = "PLANT_INFO"
text = "ICONS_MEANINGS"
label_settings = SubResource("LabelSettings_apjlw")
horizontal_alignment = 1
[node name="Plants" type="HBoxContainer" parent="Container/MarginContainer/GridContainer/Tutorial" unique_id=1658568175]
[node name="IconsGrid" type="HFlowContainer" parent="Container/MarginContainer/GridContainer/Tutorial" unique_id=827470743]
layout_mode = 2
theme_override_constants/h_separation = 8
theme_override_constants/v_separation = 8
alignment = 1
[node name="TextureRect" type="TextureRect" parent="Container/MarginContainer/GridContainer/Tutorial/Plants" unique_id=1418592623]
[node name="HBoxContainer" type="HBoxContainer" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid" unique_id=1836711773]
layout_mode = 2
texture = ExtResource("9_sepn1")
expand_mode = 3
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid/HBoxContainer" unique_id=1287619966]
custom_minimum_size = Vector2(40, 40)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("10_q8jjs")
expand_mode = 1
stretch_mode = 5
[node name="RichText" type="RichTextLabel" parent="Container/MarginContainer/GridContainer/Tutorial/Plants" unique_id=1176432130]
[node name="RichTextLabel" type="Label" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid/HBoxContainer" unique_id=1321907717]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("9_7c7ks")
theme_override_fonts/bold_font = ExtResource("4_apjlw")
theme_override_font_sizes/normal_font_size = 15
theme_override_font_sizes/bold_font_size = 18
bbcode_enabled = true
text = "PLANT_INFO_TEXT"
fit_content = true
autowrap_mode = 0
text = "PLANT_POINTS"
vertical_alignment = 1
[node name="HBoxContainer2" type="HBoxContainer" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid" unique_id=1972132878]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid/HBoxContainer2" unique_id=1672315867]
custom_minimum_size = Vector2(40, 40)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("12_s2e8t")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid/HBoxContainer2" unique_id=680718204]
layout_mode = 2
theme = ExtResource("9_7c7ks")
text = "DAYS"
vertical_alignment = 1
[node name="HBoxContainer3" type="HBoxContainer" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid" unique_id=914958898]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid/HBoxContainer3" unique_id=2070296941]
custom_minimum_size = Vector2(40, 40)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("13_4r74r")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid/HBoxContainer3" unique_id=1440353539]
layout_mode = 2
theme = ExtResource("9_7c7ks")
text = "GROWING_TIME"
vertical_alignment = 1
[node name="HBoxContainer4" type="HBoxContainer" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid" unique_id=28308100]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid/HBoxContainer4" unique_id=1894190539]
custom_minimum_size = Vector2(40, 40)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("8_mnkqy")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid/HBoxContainer4" unique_id=1869234810]
layout_mode = 2
theme = ExtResource("9_7c7ks")
text = "LIFETIME"
vertical_alignment = 1
[node name="HBoxContainer5" type="HBoxContainer" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid" unique_id=960270231]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid/HBoxContainer5" unique_id=1275499455]
custom_minimum_size = Vector2(40, 40)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("14_osk7v")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="Container/MarginContainer/GridContainer/Tutorial/IconsGrid/HBoxContainer5" unique_id=1267318669]
layout_mode = 2
theme = ExtResource("9_7c7ks")
text = "SEEDS"
vertical_alignment = 1
[node name="TutorialTerrain" type="Label" parent="Container/MarginContainer/GridContainer/Tutorial" unique_id=749651974]
@@ -293,10 +369,12 @@ vertical_alignment = 1
[node name="Settings" parent="." unique_id=758381952 instance=ExtResource("4_58dya")]
unique_name_in_owner = true
visible = false
mouse_filter = 2
[node name="Controls" parent="." unique_id=358658336 instance=ExtResource("11_urlqn")]
unique_name_in_owner = true
visible = false
mouse_filter = 2
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1779993260]

View File

@@ -16,7 +16,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
config/name="Seeding The Wasteland"
config/description="Seeding planets is a survival, managment and cosy game in which you play a little gardener robot."
config/version="demo-0.1"
config/version="alpha-1.1"
run/main_scene="uid://c5bruelvqbm1k"
config/features=PackedStringArray("4.6", "Forward Plus")
config/icon="uid://df0y0s666ui4h"
@@ -106,7 +106,7 @@ variables={
"whoareyou": "false",
"whynorth": "false"
}
translation/id_counter=155
translation/id_counter=167
translation/locales=[]
history/visited_event_history_enabled=true
audio/type_sound_bus="Sfx"
@@ -232,7 +232,7 @@ dialogic_default_action={
[internationalization]
locale/translation_remaps={}
locale/translations=PackedStringArray("res://translation/game/gui.en.translation", "res://translation/game/gui.fr.translation", "res://translation/dialogs/dialogic_character_translations.en.translation", "res://translation/dialogs/dialogic_demeter_astra_failed_translation.en.translation", "res://translation/dialogs/dialogic_demeter_introV2_translation.en.translation", "res://translation/dialogs/dialogic_demeter_intro_translation.en.translation", "res://translation/dialogs/dialogic_demeter_outro_translation.en.translation", "res://translation/dialogs/dialogic_demeter_post_tutorial_translation.en.translation", "res://translation/dialogs/dialogic_demeter_ship_presentation_translation.en.translation", "res://translation/dialogs/dialogic_wake_up_translation.en.translation", "res://translation/dialogs/dialogic_wake_up_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_intro_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_ship_presentation_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_post_tutorial_translation.fr.translation", "res://translation/dialogs/dialogic_character_translations.fr.translation", "res://translation/dialogs/dialogic_demeter_astra_failed_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_outro_translation.fr.translation")
locale/translations=PackedStringArray("res://translation/game/gui.en.translation", "res://translation/game/gui.fr.translation", "res://translation/dialogs/dialogic_character_translations.en.translation", "res://translation/dialogs/dialogic_demeter_astra_failed_translation.en.translation", "res://translation/dialogs/dialogic_demeter_intro_translation.en.translation", "res://translation/dialogs/dialogic_demeter_outro_translation.en.translation", "res://translation/dialogs/dialogic_demeter_post_tutorial_translation.en.translation", "res://translation/dialogs/dialogic_demeter_ship_presentation_translation.en.translation", "res://translation/dialogs/dialogic_wake_up_translation.en.translation", "res://translation/dialogs/dialogic_wake_up_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_intro_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_ship_presentation_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_post_tutorial_translation.fr.translation", "res://translation/dialogs/dialogic_character_translations.fr.translation", "res://translation/dialogs/dialogic_demeter_astra_failed_translation.fr.translation", "res://translation/dialogs/dialogic_demeter_outro_translation.fr.translation")
locale/test="fr"
[rendering]

View File

@@ -73,6 +73,7 @@ func story():
AudioManager.play_sfx("Elevator")
await %Lift.clicked
%Player3D.controlling_player = false
%LiftAnimationPlayer.play_backwards("arrive")
AudioManager.play_sfx("Elevator")

View File

@@ -71,6 +71,7 @@ func _on_main_screen_activated():
GameInfo.game_data.ship_in_space = true
if GameInfo.game_data.current_run == null:
GameInfo.game_data.start_run()
GameInfo.game_data.player_data.energy = GameInfo.game_data.player_data.max_energy
update_dashboard()
func _on_left_screen_activated():

View File

@@ -5,7 +5,8 @@ const GENERATION_NUMBER = 4
const NOISE_IMAGE_SIZE := 150
const MAX_DECONTAMINATION_DISTANCE=3
const MAX_DECONTAMINATION_DISTANCE=2
const MAX_TALION_DISTANCE=3
const RANDOM_PADDING_NOISE_FREQUENCY := 0.01
const ROCK_NOISE_FREQUENCY := 0.01
@@ -200,8 +201,13 @@ func generate_rocks(layer : RockLayer):
layer.place_rocks(rocks, RockLayer.TileType.ROCK)
func get_generated_rock_type(coord : Vector2i) -> RockLayer.TileType:
var rock_tile_value : float = get_tile_value_from_noise(coord, rock_noise_image)
var cristal_tile_value : float = get_tile_value_from_noise(coord, cristal_noise_image)
var rock_tile_value : float = (
get_tile_value_from_noise(coord, rock_noise_image)
)
var cristal_tile_value : float = (
1. if chunk_coord.distance_to(Vector2i.ZERO) > MAX_TALION_DISTANCE
else get_tile_value_from_noise(coord, cristal_noise_image)
)
var saved_diff := region_data.rock_tiles_data.get_tile_diff_for_local_coord(coord, chunk_coord)
if saved_diff == TilesDiffData.TileDiff.ABSENT:

View File

@@ -14,11 +14,11 @@ Choice/19/text,"No, I'm ok.","Non merci, ça va ! "
Choice/19/disabled_text,,
Choice/1a/text,Can I have some explanations on how all of this works again ?,Vous pouvez me réexpliquer comment remplir mes objectifs ?
Choice/1a/disabled_text,,
Text/1b/text,"When you emerge from this building,[pause=0.2] you will reach a little yellowish zone.[pause=0.3] It's a [b]fertile zone[/b],[pause=0.3] brought back by the [color=#119758][b]Talion's[/b][/color] power.[pause=0.5] You can only plant [b]seeds[/b] in this zone.","Quand tu sortiras de la base,[pause=0.3] tu arriveras dans une petite zone jaune.[pause=0.5] C'est une [b]zone fertile[/b],[pause=0.3] créée par le retour du Talion.[pause=0.5] Tu ne peux planter de graines que dans ces zones."
Text/1c/text,"Then,[pause=0.3] you have to get [b]seeds[/b].[pause=0.5] To do so,[pause=0.2] just take your shovel and smash some stones ![pause=0.5] Focus on those having yellow crystals on it,[pause=0.3] these are [color=#119758][b]Talion veins[/b][/color].","Tu devras trouver des graines.[pause=0.5] Pour cela,[pause=0.2] c'est très simple,[pause=0.3] tu prends ta pelle,[pause=0.2] et tu casses des cailloux ![pause=0.5] De préférence ceux avec des cristaux dedans,[pause=0.3] ce sont des [b]veines de Talion[/b]."
Text/1d/text,"Each time you use a tool like the shovel or plant a seed,[pause=0.2] you will spend one [b]energy[/b] charge.[pause=0.5] When you are out of it,[pause=0.2] just go recharge it at the [b]recharge station[/b].[pause=0.5] You will find it near the entrance of the base.","A chaque fois que tu utilises un outil ou que tu plantes une graine,[pause=0.3] tu utiliseras une [b]charge d'énergie[/b].[pause=0.5] Quand tu n'en as plus,[pause=0.3] tu peux aller te recharger à la [b]station de recharge[/b] que tu trouveras près de l'entrée de la base.[pause=0.5]"
Text/1e/text,"Each time you recharge,[pause=0.2] a day will pass,[pause=0.3] your batteries are very inefficient.[pause=0.5] While the day is passing,[pause=0.3] plants will grow !","A chaque fois que tu te recharges,[pause=0.3] le temps passera.[pause=0.5] Une journée pour être précise (non, ta batterie n'est pas très bonne),[pause=0.2] et les plantes grandiront !"
Text/1f/text,You have to produce enough [b]plant points[/b] to fill the [color=#FFA617]Internode's[/color] tanks.[pause=0.5] Each plant gives one or more [b]plant points[/b] when mature.,"Tu dois obtenir assez de [b]points de plantes[/b] pour recharger les réservoirs de l'[color=#FFA617]Internode[/color].[pause=0.5] Chaque plante te donnera un ou plusieurs [b]points de plante[/b] quand elle est mature."
Text/20/text,"Oh ! [pause=0.3] I almost forgot,[pause=0.3] some plants can [b]mutate[/b].[pause=0.5] These [b]mutations[/b] alter the points and behavior of the plant affected.[pause=0.5] [b]Mutations[/b] can appear while [b]harvesting[/b] mature plants and even become more powerful if you [b]harvest[/b] an already mutated one.","Ah oui,[pause=0.3] j'ai failli oublier ![pause=0.5] Certaines plantes peuvent subir des [b]mutations[/b] qui affectent les points qu'elles donnent ou leur comportement.[pause=0.5] Tu peux obtenir des graines mutées en récoltant des plantes matures avec ta pelle, ou attendre qu'elles meurent."
Text/9c/text,"When you start a region,[pause=0.2] search for the [b]Recharge Station[/b], there is always one near.","Quand tu arrives quelque part,[pause=0.2] cherche la [b]Station de Recharge[/b], il y en a toujours une pas très loin."
Text/9d/text,"Then,[pause=0.3] you'll have to find seeds by smashing some [b]Talion Veins[/b] in the stones with your shovel.","Puis,[pause=0.3] tu dois récupérer des graines en brisant des [b]Veines de Talion[/b] dans la pierre avec ta pelle."
Text/9e/text,"You can then plant seeds in the yellow moss you'll find on the ground, it's the only [b]Fertile Zones[/b].","Tu pourra planter ces graines dans la mousse jaune que tu trouvera par terre, ce sont les seules [b]Zones Fertiles[/b]."
Text/9f/text,"When you are out of [b]Energy[/b], you can recharge on the [b]Recharge Station[/b], time will pass and plants will grow.","Tu pourra planter ces graines dans la mousse jaune que tu trouvera par terre, ce sont les seules [b]Zones Fertiles[/b]."
Text/a0/text,"Each seed is different by their [b]Mutations[/b], and you can get same or better seed from a plant by destroying it when mature, or waiting the end of their lifetime.","Chaque graine est unique par ses [b]Mutations[/b], et tu pourra récupérer de meilleure graines en détruisant une plante mature, ou en attendant qu'elle meurt."
Text/a1/text,"Plants generate [b]Plant Points[/b] when mature, get enough plant points to fill the reservoir of the [color=#FFA617]Internode[/color].","Une fois mature, les plantes génèrent des [b]Points de Plantes[/b], récupère-en assez pour remplir le réservoir de l'[color=#FFA617]Internode[/color]."
Text/21/text,Hope I helped.,J'espère que ça t'a aidé !
Text/22/text,"I'm sending you an elevator,[pause=0.3] see you soon !","Je t'envoie un ascenseur,[pause=0.3] à bientôt !"
1 keys en fr
14 Choice/19/disabled_text
15 Choice/1a/text Can I have some explanations on how all of this works again ? Vous pouvez me réexpliquer comment remplir mes objectifs ?
16 Choice/1a/disabled_text
17 Text/1b/text Text/9c/text When you emerge from this building,[pause=0.2] you will reach a little yellowish zone.[pause=0.3] It's a [b]fertile zone[/b],[pause=0.3] brought back by the [color=#119758][b]Talion's[/b][/color] power.[pause=0.5] You can only plant [b]seeds[/b] in this zone. When you start a region,[pause=0.2] search for the [b]Recharge Station[/b], there is always one near. Quand tu sortiras de la base,[pause=0.3] tu arriveras dans une petite zone jaune.[pause=0.5] C'est une [b]zone fertile[/b],[pause=0.3] créée par le retour du Talion.[pause=0.5] Tu ne peux planter de graines que dans ces zones. Quand tu arrives quelque part,[pause=0.2] cherche la [b]Station de Recharge[/b], il y en a toujours une pas très loin.
18 Text/1c/text Text/9d/text Then,[pause=0.3] you have to get [b]seeds[/b].[pause=0.5] To do so,[pause=0.2] just take your shovel and smash some stones ![pause=0.5] Focus on those having yellow crystals on it,[pause=0.3] these are [color=#119758][b]Talion veins[/b][/color]. Then,[pause=0.3] you'll have to find seeds by smashing some [b]Talion Veins[/b] in the stones with your shovel. Tu devras trouver des graines.[pause=0.5] Pour cela,[pause=0.2] c'est très simple,[pause=0.3] tu prends ta pelle,[pause=0.2] et tu casses des cailloux ![pause=0.5] De préférence ceux avec des cristaux dedans,[pause=0.3] ce sont des [b]veines de Talion[/b]. Puis,[pause=0.3] tu dois récupérer des graines en brisant des [b]Veines de Talion[/b] dans la pierre avec ta pelle.
19 Text/1d/text Text/9e/text Each time you use a tool like the shovel or plant a seed,[pause=0.2] you will spend one [b]energy[/b] charge.[pause=0.5] When you are out of it,[pause=0.2] just go recharge it at the [b]recharge station[/b].[pause=0.5] You will find it near the entrance of the base. You can then plant seeds in the yellow moss you'll find on the ground, it's the only [b]Fertile Zones[/b]. A chaque fois que tu utilises un outil ou que tu plantes une graine,[pause=0.3] tu utiliseras une [b]charge d'énergie[/b].[pause=0.5] Quand tu n'en as plus,[pause=0.3] tu peux aller te recharger à la [b]station de recharge[/b] que tu trouveras près de l'entrée de la base.[pause=0.5] Tu pourra planter ces graines dans la mousse jaune que tu trouvera par terre, ce sont les seules [b]Zones Fertiles[/b].
20 Text/1e/text Text/9f/text Each time you recharge,[pause=0.2] a day will pass,[pause=0.3] your batteries are very inefficient.[pause=0.5] While the day is passing,[pause=0.3] plants will grow ! When you are out of [b]Energy[/b], you can recharge on the [b]Recharge Station[/b], time will pass and plants will grow. A chaque fois que tu te recharges,[pause=0.3] le temps passera.[pause=0.5] Une journée pour être précise (non, ta batterie n'est pas très bonne),[pause=0.2] et les plantes grandiront ! Tu pourra planter ces graines dans la mousse jaune que tu trouvera par terre, ce sont les seules [b]Zones Fertiles[/b].
21 Text/1f/text Text/a0/text You have to produce enough [b]plant points[/b] to fill the [color=#FFA617]Internode's[/color] tanks.[pause=0.5] Each plant gives one or more [b]plant points[/b] when mature. Each seed is different by their [b]Mutations[/b], and you can get same or better seed from a plant by destroying it when mature, or waiting the end of their lifetime. Tu dois obtenir assez de [b]points de plantes[/b] pour recharger les réservoirs de l'[color=#FFA617]Internode[/color].[pause=0.5] Chaque plante te donnera un ou plusieurs [b]points de plante[/b] quand elle est mature. Chaque graine est unique par ses [b]Mutations[/b], et tu pourra récupérer de meilleure graines en détruisant une plante mature, ou en attendant qu'elle meurt.
22 Text/20/text Text/a1/text Oh ! [pause=0.3] I almost forgot,[pause=0.3] some plants can [b]mutate[/b].[pause=0.5] These [b]mutations[/b] alter the points and behavior of the plant affected.[pause=0.5] [b]Mutations[/b] can appear while [b]harvesting[/b] mature plants and even become more powerful if you [b]harvest[/b] an already mutated one. Plants generate [b]Plant Points[/b] when mature, get enough plant points to fill the reservoir of the [color=#FFA617]Internode[/color]. Ah oui,[pause=0.3] j'ai failli oublier ![pause=0.5] Certaines plantes peuvent subir des [b]mutations[/b] qui affectent les points qu'elles donnent ou leur comportement.[pause=0.5] Tu peux obtenir des graines mutées en récoltant des plantes matures avec ta pelle, ou attendre qu'elles meurent. Une fois mature, les plantes génèrent des [b]Points de Plantes[/b], récupère-en assez pour remplir le réservoir de l'[color=#FFA617]Internode[/color].
23 Text/21/text Hope I helped. J'espère que ça t'a aidé !
24 Text/22/text I'm sending you an elevator,[pause=0.3] see you soon ! Je t'envoie un ascenseur,[pause=0.3] à bientôt !

View File

@@ -27,12 +27,12 @@ Text/35/text,"With the [color=#119758][b]Talion[/b][/color] back on the surface,
Text/36/text,"But first things first,[pause=0.3] you have to learn how everything is working up here,[pause=0.2] and how to use the [color=#119758][b]Talion[/b][/color] to plant seeds.","Mais chaque chose en son temps,[pause=0.3] tu as besoin d'apprendre comment ça marche ici,[pause=0.2] et surtout comment utiliser le [color=#119758][b]Talion[/b][/color] pour planter des graines."
Text/37/text,[b]Just remember the following[/b],[b]Ecoute bien[/b]
Label/38/display_name,,
Text/39/text,"When you emerge from this building,[pause=0.2] you will reach a little yellowish zone.[pause=0.3] It's a [b]fertile zone[/b],[pause=0.3] brought back by the [color=#119758][b]Talion's[/b][/color] power.[pause=0.5] You can only plant [b]seeds[/b] in this zone.","Quand tu sortiras de ce bâtiment,[pause=0.2] tu atteindras une petite zone jaune.[pause=0.3] C'est une [b]zone fertile[/b],[pause=0.3] apparue grâce au pouvoir du [color=#119758][b]Talion[/b][/color].[pause=0.5] Tu peux seulement planter des [b]graines[/b] dans cette zone."
Text/3a/text,"Then,[pause=0.3] you have to get [b]seeds[/b].[pause=0.5] To do so,[pause=0.2] just take your shovel and smash some stones ![pause=0.5] Focus on those having yellow crystals on it,[pause=0.3] these are [color=#119758][b]Talion veins[/b][/color].","Ensuite,[pause=0.2] tu devras récupérer des [b]graines[/b].[pause=0.5] Pour ce faire,[pause=0.2] prend ta pelle et casse quelques pierres ![pause=0.5] Cherche celles qui sont couvertes de cristaux jaunes,[pause=0.3] ce sont des veines de [color=#119758][b]Talion[/b][/color]."
Text/3b/text,"Each time you use a tool like the shovel or plant a seed,[pause=0.2] you will spend one [b]energy[/b] charge.[pause=0.5] When you are out of it,[pause=0.2] just go recharge it at the [b]recharge station[/b].[pause=0.5] You will find it near the entrance of the base.","A chaque fois que tu utilises un outil comme la pelle ou que tu plantes une graine,[pause=0.3] tu dépenses une de tes [b]charges d'énergie[/b].[pause=0.5] Quand tu n'en as plus,[pause=0.3] il te suffit d'aller te recharger à la [b]station de recharge[/b].[pause=0.5] Tu la trouveras à côté de l'entrée de la base."
Text/3c/text,"Each time you recharge,[pause=0.2] a day will pass,[pause=0.3] your batteries are very inefficient.[pause=0.5] While the day is passing,[pause=0.3] plants will grow !","A chaque recharge,[pause=0.3] une journée passera,[pause=0.2] tes batteries sont très peu efficaces.[pause=0.5] Pendant ce temps,[pause=0.3] tes plantes grandissent !"
Text/3d/text,"To complete you training,[pause=0.3] obtain enough [b]plant points[/b].[pause=0.5] Each plant gives one or more [b]plant points[/b] when mature.","Pour réussir ton entraînement,[pause=0.3] il faudra que tu obtiennes des [b]points de plantes[/b].[pause=0.5] Chaque plante te donne un ou plusieurs [b]points de plantes[/b] quand elles arrivent à maturité."
Text/3e/text,"Oh ! [pause=0.3] I almost forgot,[pause=0.3] some plants can [b]mutate[/b].[pause=0.5] These [b]mutations[/b] alter the points and behavior of the plant affected.[pause=0.5] [b]Mutations[/b] can appear while [b]harvesting[/b] mature plants and even become more powerful if you [b]harvest[/b] an already mutated one.","Ah ! [pause=0.3] J'ai presque oublié,[pause=0.3] certaines plantes peuvent [b]muter[/b].[pause=0.5] Ces [b]mutations[/b] affectent le nombre de points obtenus et le comportement de la plante concernée.[pause=0.5] Les [b]mutations[/b] peuvent apparaître quand tu [b]récoltes[/b] des plantes matures et peuvent devenir plus puissantes si tu [b]récoltes[/b] une plante ayant déjà subi des mutations."
Text/a2/text,"When you emerge from this building,[pause=0.2] search for the [b]Recharge Station[/b], I think there is one near the entrance.","Quand tu sortira d'ici,[pause=0.2] cherche la [b]Station de Recharge[/b], il devrait y en avoir une pas très loin de la sortie."
Text/a3/text,"Then,[pause=0.3] you'll have to find seeds by smashing some [b]Talion Veins[/b] in the stones with your shovel.","Puis,[pause=0.3] tu devras récupérer des graines en brisant des [b]Veines de Talion[/b] dans la pierre avec ta pelle."
Text/a4/text,"You can then plant seeds in the yellow moss you'll find on the ground, it's the only [b]Fertile Zones[/b].","Tu pourra planter ces graines dans la mousse jaune que tu trouvera par terre, ce sont les seules [b]Zones Fertiles[/b]."
Text/a5/text,"When you are out of [b]Energy[/b], you can recharge on the [b]Recharge Station[/b], time will pass and plants will grow.","Tu pourra planter ces graines dans la mousse jaune que tu trouvera par terre, ce sont les seules [b]Zones Fertiles[/b]."
Text/a6/text,"Each seed is different by their [b]Mutations[/b], and you can get same or better seed from a plant by destroying it when mature, or waiting the end of their lifetime.","Chaque graine est unique par ses [b]Mutations[/b], et tu pourra récupérer de meilleure graines en détruisant une plante mature, ou en attendant qu'elle meurt."
Text/a7/text,"Plants generate [b]Plant Points[/b] when mature, get enough plant points and you'll complete the training.","Une fois mature, les plantes génèrent des [b]Points de Plantes[/b], si tu en a assez tu finira l'entrainement."
Choice/3f/text,"That's a lot of information, can you repeat ?",C'est beaucoup d'informations. Tu peux répèter ?
Choice/3f/disabled_text,,
Text/40/text,"Ok,[pause=0.2] listen carefully.","D'accord,[pause=0.2] écoute bien."
1 keys en fr
27 Text/36/text But first things first,[pause=0.3] you have to learn how everything is working up here,[pause=0.2] and how to use the [color=#119758][b]Talion[/b][/color] to plant seeds. Mais chaque chose en son temps,[pause=0.3] tu as besoin d'apprendre comment ça marche ici,[pause=0.2] et surtout comment utiliser le [color=#119758][b]Talion[/b][/color] pour planter des graines.
28 Text/37/text [b]Just remember the following[/b] [b]Ecoute bien[/b]
29 Label/38/display_name
30 Text/39/text Text/a2/text When you emerge from this building,[pause=0.2] you will reach a little yellowish zone.[pause=0.3] It's a [b]fertile zone[/b],[pause=0.3] brought back by the [color=#119758][b]Talion's[/b][/color] power.[pause=0.5] You can only plant [b]seeds[/b] in this zone. When you emerge from this building,[pause=0.2] search for the [b]Recharge Station[/b], I think there is one near the entrance. Quand tu sortiras de ce bâtiment,[pause=0.2] tu atteindras une petite zone jaune.[pause=0.3] C'est une [b]zone fertile[/b],[pause=0.3] apparue grâce au pouvoir du [color=#119758][b]Talion[/b][/color].[pause=0.5] Tu peux seulement planter des [b]graines[/b] dans cette zone. Quand tu sortira d'ici,[pause=0.2] cherche la [b]Station de Recharge[/b], il devrait y en avoir une pas très loin de la sortie.
31 Text/3a/text Text/a3/text Then,[pause=0.3] you have to get [b]seeds[/b].[pause=0.5] To do so,[pause=0.2] just take your shovel and smash some stones ![pause=0.5] Focus on those having yellow crystals on it,[pause=0.3] these are [color=#119758][b]Talion veins[/b][/color]. Then,[pause=0.3] you'll have to find seeds by smashing some [b]Talion Veins[/b] in the stones with your shovel. Ensuite,[pause=0.2] tu devras récupérer des [b]graines[/b].[pause=0.5] Pour ce faire,[pause=0.2] prend ta pelle et casse quelques pierres ![pause=0.5] Cherche celles qui sont couvertes de cristaux jaunes,[pause=0.3] ce sont des veines de [color=#119758][b]Talion[/b][/color]. Puis,[pause=0.3] tu devras récupérer des graines en brisant des [b]Veines de Talion[/b] dans la pierre avec ta pelle.
32 Text/3b/text Text/a4/text Each time you use a tool like the shovel or plant a seed,[pause=0.2] you will spend one [b]energy[/b] charge.[pause=0.5] When you are out of it,[pause=0.2] just go recharge it at the [b]recharge station[/b].[pause=0.5] You will find it near the entrance of the base. You can then plant seeds in the yellow moss you'll find on the ground, it's the only [b]Fertile Zones[/b]. A chaque fois que tu utilises un outil comme la pelle ou que tu plantes une graine,[pause=0.3] tu dépenses une de tes [b]charges d'énergie[/b].[pause=0.5] Quand tu n'en as plus,[pause=0.3] il te suffit d'aller te recharger à la [b]station de recharge[/b].[pause=0.5] Tu la trouveras à côté de l'entrée de la base. Tu pourra planter ces graines dans la mousse jaune que tu trouvera par terre, ce sont les seules [b]Zones Fertiles[/b].
33 Text/3c/text Text/a5/text Each time you recharge,[pause=0.2] a day will pass,[pause=0.3] your batteries are very inefficient.[pause=0.5] While the day is passing,[pause=0.3] plants will grow ! When you are out of [b]Energy[/b], you can recharge on the [b]Recharge Station[/b], time will pass and plants will grow. A chaque recharge,[pause=0.3] une journée passera,[pause=0.2] tes batteries sont très peu efficaces.[pause=0.5] Pendant ce temps,[pause=0.3] tes plantes grandissent ! Tu pourra planter ces graines dans la mousse jaune que tu trouvera par terre, ce sont les seules [b]Zones Fertiles[/b].
34 Text/3d/text Text/a6/text To complete you training,[pause=0.3] obtain enough [b]plant points[/b].[pause=0.5] Each plant gives one or more [b]plant points[/b] when mature. Each seed is different by their [b]Mutations[/b], and you can get same or better seed from a plant by destroying it when mature, or waiting the end of their lifetime. Pour réussir ton entraînement,[pause=0.3] il faudra que tu obtiennes des [b]points de plantes[/b].[pause=0.5] Chaque plante te donne un ou plusieurs [b]points de plantes[/b] quand elles arrivent à maturité. Chaque graine est unique par ses [b]Mutations[/b], et tu pourra récupérer de meilleure graines en détruisant une plante mature, ou en attendant qu'elle meurt.
35 Text/3e/text Text/a7/text Oh ! [pause=0.3] I almost forgot,[pause=0.3] some plants can [b]mutate[/b].[pause=0.5] These [b]mutations[/b] alter the points and behavior of the plant affected.[pause=0.5] [b]Mutations[/b] can appear while [b]harvesting[/b] mature plants and even become more powerful if you [b]harvest[/b] an already mutated one. Plants generate [b]Plant Points[/b] when mature, get enough plant points and you'll complete the training. Ah ! [pause=0.3] J'ai presque oublié,[pause=0.3] certaines plantes peuvent [b]muter[/b].[pause=0.5] Ces [b]mutations[/b] affectent le nombre de points obtenus et le comportement de la plante concernée.[pause=0.5] Les [b]mutations[/b] peuvent apparaître quand tu [b]récoltes[/b] des plantes matures et peuvent devenir plus puissantes si tu [b]récoltes[/b] une plante ayant déjà subi des mutations. Une fois mature, les plantes génèrent des [b]Points de Plantes[/b], si tu en a assez tu finira l'entrainement.
36 Choice/3f/text That's a lot of information, can you repeat ? C'est beaucoup d'informations. Tu peux répèter ?
37 Choice/3f/disabled_text
38 Text/40/text Ok,[pause=0.2] listen carefully. D'accord,[pause=0.2] écoute bien.

View File

@@ -32,4 +32,4 @@ Choice/89/disabled_text,,
Text/8a/text,"Sorry my child,[pause=0.3] I'm not ready to talk about that for now.[pause=0.3].[pause=0.3].[pause=0.3] You'll have your answers when you meet me.","Je suis désolée petit,[pause=0.3] je ne suis pas prête à en parler pour l'instant.[pause=0.3].[pause=0.3].[pause=0.3] Tu en sauras plus quand tu m'auras rejointe."
Choice/8b/text,Can I know what is this shiny machine just next to me ?,Je peux savoir ce qu'est cette machine devant moi ?
Choice/8b/disabled_text,,
Text/8c/text,"This machine is a planetary ship ![pause=0.5] This model is called [color=#FFA617]Internode[/color],[pause=0.3] I tweaked it to recharge on vegetal energy.[pause=0.5] However,[pause=0.2] as you know,[pause=0.2] this type of energy is uncommon on this planet.[pause=0.5] But let's continue on board,[pause=0.2] shall we ?","C'est un vaisseau spatial ![pause=0.5] Le nom de ce modèle est l'[color=#FFA617]Internode[/color],[pause=0.3] je l'ai modifié pour qu'il se recharge avec de l'énergie végétale ![pause=0.5] Mais comme tu le devines,[pause=0.3] cette énergie est rare par ici.[pause=0.5] Montons à bord,[pause=0.2] tu veux ?"
Text/8c/text,"The engine you see is a planetary ship ![pause=0.5] This model is called [color=#FFA617]Internode[/color],[pause=0.3] I tweaked it to recharge on vegetal energy.[pause=0.5] However,[pause=0.2] as you know,[pause=0.2] this type of energy is uncommon on this planet.[pause=0.5] But let's continue on board,[pause=0.2] shall we ?","L'engin que tu voit est un vaisseau planétaire ![pause=0.5] Le nom de ce modèle est l'[color=#FFA617]Internode[/color],[pause=0.3] je l'ai modifié pour qu'il se recharge avec de l'énergie végétale ![pause=0.5] Mais comme tu le devines,[pause=0.3] cette énergie est rare par ici.[pause=0.5] Montons à bord,[pause=0.2] tu veux ?"
1 keys en fr
32 Text/8a/text Sorry my child,[pause=0.3] I'm not ready to talk about that for now.[pause=0.3].[pause=0.3].[pause=0.3] You'll have your answers when you meet me. Je suis désolée petit,[pause=0.3] je ne suis pas prête à en parler pour l'instant.[pause=0.3].[pause=0.3].[pause=0.3] Tu en sauras plus quand tu m'auras rejointe.
33 Choice/8b/text Can I know what is this shiny machine just next to me ? Je peux savoir ce qu'est cette machine devant moi ?
34 Choice/8b/disabled_text
35 Text/8c/text This machine is a planetary ship ![pause=0.5] This model is called [color=#FFA617]Internode[/color],[pause=0.3] I tweaked it to recharge on vegetal energy.[pause=0.5] However,[pause=0.2] as you know,[pause=0.2] this type of energy is uncommon on this planet.[pause=0.5] But let's continue on board,[pause=0.2] shall we ? The engine you see is a planetary ship ![pause=0.5] This model is called [color=#FFA617]Internode[/color],[pause=0.3] I tweaked it to recharge on vegetal energy.[pause=0.5] However,[pause=0.2] as you know,[pause=0.2] this type of energy is uncommon on this planet.[pause=0.5] But let's continue on board,[pause=0.2] shall we ? C'est un vaisseau spatial ![pause=0.5] Le nom de ce modèle est l'[color=#FFA617]Internode[/color],[pause=0.3] je l'ai modifié pour qu'il se recharge avec de l'énergie végétale ![pause=0.5] Mais comme tu le devines,[pause=0.3] cette énergie est rare par ici.[pause=0.5] Montons à bord,[pause=0.2] tu veux ? L'engin que tu voit est un vaisseau planétaire ![pause=0.5] Le nom de ce modèle est l'[color=#FFA617]Internode[/color],[pause=0.3] je l'ai modifié pour qu'il se recharge avec de l'énergie végétale ![pause=0.5] Mais comme tu le devines,[pause=0.3] cette énergie est rare par ici.[pause=0.5] Montons à bord,[pause=0.2] tu veux ?

View File

@@ -14,5 +14,5 @@ Choice/95/disabled_text,,
Text/96/text,"Several disks available,[pause=0.3] most are empty.[pause=0.5] Some seem to contain the system currently analyzing the code of the system analyzing the code of the system analyzing the code of the system analyzing.[pause=0.5].[pause=0.5].[pause=0.5] Infinite recursion,[pause=0.3] better avoid that.","Quelques disques disponibles,[pause=0.3] la plupart sont vides.[pause=0.5] Certains ont l'air de contenir le système analysant le code du système analysant le code du système analysant le code du système analysant.[pause=0.5].[pause=0.5].[pause=0.5] Une récursion infinie,[pause=0.3] il vaudrait mieux éviter ça."
Choice/97/text,Wake up,Se réveiller
Choice/97/disabled_text,,
Text/98/text,"Overseeing serial number and system name.[pause=0.5].[pause=0.5].[pause=0.5] Strange.[pause=0.5] Serial number is empty.[pause=0.5] Must be an error.[pause=0.5] System name is,[pause=0.5] [color=#FFA617]Orchid[/color].[pause=0.5] That is enough for now.","Inspection du numéro de série et du nom du système.[pause=0.5].[pause=0.5].[pause=0.5] Etrange.[pause=0.5] Pas de numéro de série.[pause=0.5] Sûrement une erreur.[pause=0.5] Le nom du système est[pause=0.5] [color=#FFA617]Orchid[/color].[pause=0.5] C'est tout pour le moment."
Text/98/text,"Overseeing serial number and system name.[pause=0.5].[pause=0.5].[pause=0.5] Strange.[pause=0.5] Serial number is empty.[pause=0.5] Must be an error.[pause=0.5] System name is,[pause=0.5] [color=#FFA617]Orchid[/color].[pause=0.5] That is enough for now.",Inspection du numéro de série et du nom du système.[pause=0.5].[pause=0.5].[pause=0.5] Etrange.[pause=0.5] Pas de numéro de série.[pause=0.5] Sûrement une erreur.[pause=0.5] Le nom du système est[pause=0.5] [color=#FFA617]Orchid[/color].[pause=0.5] C'est tout pour le moment.
Text/99/text,"Starting engines,[pause=0.3] fans and daemons,[pause=0.3] let's see what is to see.","Allumage des moteurs, [pause=0.3]ventilateurs et daemons,[pause=0.3] voyons ce qui nous attends."
1 keys en fr
14 Text/96/text Several disks available,[pause=0.3] most are empty.[pause=0.5] Some seem to contain the system currently analyzing the code of the system analyzing the code of the system analyzing the code of the system analyzing.[pause=0.5].[pause=0.5].[pause=0.5] Infinite recursion,[pause=0.3] better avoid that. Quelques disques disponibles,[pause=0.3] la plupart sont vides.[pause=0.5] Certains ont l'air de contenir le système analysant le code du système analysant le code du système analysant le code du système analysant.[pause=0.5].[pause=0.5].[pause=0.5] Une récursion infinie,[pause=0.3] il vaudrait mieux éviter ça.
15 Choice/97/text Wake up Se réveiller
16 Choice/97/disabled_text
17 Text/98/text Overseeing serial number and system name.[pause=0.5].[pause=0.5].[pause=0.5] Strange.[pause=0.5] Serial number is empty.[pause=0.5] Must be an error.[pause=0.5] System name is,[pause=0.5] [color=#FFA617]Orchid[/color].[pause=0.5] That is enough for now. Inspection du numéro de série et du nom du système.[pause=0.5].[pause=0.5].[pause=0.5] Etrange.[pause=0.5] Pas de numéro de série.[pause=0.5] Sûrement une erreur.[pause=0.5] Le nom du système est[pause=0.5] [color=#FFA617]Orchid[/color].[pause=0.5] C'est tout pour le moment.
18 Text/99/text Starting engines,[pause=0.3] fans and daemons,[pause=0.3] let's see what is to see. Allumage des moteurs, [pause=0.3]ventilateurs et daemons,[pause=0.3] voyons ce qui nous attends.

View File

@@ -1,17 +1,11 @@
keys,en,fr
TUTORIAL,Tutorial,Tutoriel
PLANT_INFO,Plant Info, Informations de plantes
PLANT_INFO_TEXT,"[b]1[/b] Name
[b]2[/b] Archetype
[b]3[/b] Score
[b]4[/b] Age
[b]5[/b] Growing time
[b]6[/b] Lifetime","[b]1[/b] Nom
[b]2[/b] Archétype
[b]3[/b] Score
[b]4[/b] Age
[b]5[/b] Temps de croissance
[b]6[/b] Durée de vie"
ICONS_MEANINGS,Icons Meanings,Signification des Icônes
PLANT_POINTS,Plant points,Points de plante
DAYS,Days,Jours
GROWING_TIME,Growing time (in days),Temps de pousse (en jour)
LIFETIME,Lifetime (in days),Durée de vie (en jour)
SEEDS,Seeds,Graines
TERRAINS,Terrains,Terrains
FERTILE_LAND_TEXT,[b]Fertile Land[/b] Seeds can only be planted on this zone,[b]Terre fertile[/b] Des graines peuvent être plantées dans cette zone
ROCK_TEXT,[b]Rock[/b] Can be dug with a shovel,[b]Roche[/b] Peut être creusée avec une pelle
@@ -40,6 +34,7 @@ IMPOSSIBLE,Impossible,Impossible
EFFECT,Effect,Effet
MATURE,Mature,Mature
GROWING,Growing,En train de pousser
JUVENILE,Juvenile,Juvénile
DECONTAMINATE,Decontaminate,Décontamine
%d_CHARGE_LEFT,%d charge left,%d charges restants
LAST_RECHARGE,One recharge remaining,Une recharge restante
@@ -60,38 +55,24 @@ MATURE_ON_DAY_%d,Mature on day [b]%d[/b],Mature au jour [b]%d[/b]
ABSURD,[rainbow]Absurd[/rainbow],[rainbow]Absurde[/rainbow]
GROW_IN_%d,Grow in [b]%d[/b] days,Mature dans [b]%d[/b] jours
DIE_ON_DAY_%d,Die on day %d,Meurs au jour %d
%s_SCORE_WHEN_MATURE,Grants [b]%s[/b] plant point when mature,Donne [b]%s[/b] points de jardin une fois mature
DISCOVER_%s,Discover %s,Découvre %s
EVOLVE_%s,Upgrade %s,Améliore %s
%s_SEEDS_CAN_NOW_BE_FOUND,%s seeds can now be found,Des graines de %s peuvent maintenant être trouvées
%s_SCORE_EVOLUTION,%s score evolution,Évolution de score de %s
ADD_%s_TO_THE_DEFAULT_SCORE_OF_THE_PLANT,Add [b]%s[/b] to the default score of the plant,Améliore le score de jardin de la plante de [b]%s[/b]
%s_EVOLUTION,%s evolution,Évolution de %s
UPGRADE_THE_LEVEL_OF_%s_EFFECT_OF_%d_LEVEL,Upgrade the level of %s effect of %d level,Améliore l'effet %s de %d niveau
ANCIENT,Ancient,Ancien
ANCIENT_EFFECT_TEXT_LEVEL,"When mature, grants [b]{score_increase}[/b] plant point each [b]{day_factor}[/b] days","Une fois mature, donne [b]{score_increase}[/b] points de plantes tous les [b]{day_factor}[/b] jours"
ELITIST,Elitist,Élitiste
ELITIST_EFFECT_TEXT_LEVEL_%d,"When mature, grants [b]%d[/b] plant point for each plant of the same species around, but do not give any points if it is alone.","Une fois mature, donne [b]%d[/b] points de jardin pour chaque plante de la même espèce aux alentours, mais nen donne aucun si elle est seule."
ERMIT,Hermit,Ermite
ERMIT_EFFECT_TEXT_LEVEL_%d,"Multiply the garden score by [b]%d[/b] if no plants are nearby, otherwise, set it to 0.","Multiplie le score de jardin par [b]%d[/b] si aucune plante nest proche, sinon le score est nul."
ANCIENT_EFFECT_TEXT,"When mature, add [b]{score_increase}[/b]{score_icon} each [b]{day_factor}[/b]{duration_icon}","Une fois mature, ajoute [b]{score_increase}[/b]{score_icon} tous les [b]{day_factor}[/b]{duration_icon}"
PRECOCIOUS,Precocious,Précoce
PRECOCIOUS_EFFECT_TEXT_LEVEL_%d,Grants [b]%d[/b] plant point while the plant is growing,Donne [b]%d[/b] points de jardin pendant que la plante grandit
PRECOCIOUS_EFFECT_TEXT,[b]{score}[/b]{score_icon} while the plant is growing,[b]{score}[/b]{score_icon} pendant que la plante grandit
QUALITY,Quality,Qualité
QUALITY_EFFECT_TEXT_LEVEL_%d,Grants [b]%d[/b] plant point if the plant is mature.,Donne [b]%d[/b] points de jardin si la plante est mature.
QUALITY_EFFECT_TEXT,[b]{score}[/b]{score_icon} if the plant is mature,[b]{score}[/b]{score_icon} si la plante est mature
QUICK,Quick,Rapide
QUICK_EFFECT_TEXT_LEVEL,Grants [b]{score_increase}[/b] plant point when mature but reduces the lifetime by [b]{lifetime_decrease}[/b],"Augmente le score mature de [b]{score_increase}[/b], mais réduit le temps de vie de [b]{lifetime_decrease}[/b]"
QUICK_EFFECT_TEXT,"[b]{lifetime_decrease}[/b]{lifetime_icon} and when mature [b]{score_increase}[/b]{score_icon}","[b]{lifetime_decrease}[/b]{lifetime_icon} et une fois mature [b]{score_increase}[/b]{score_icon}"
SOCIABLE,Outgoing,Sociable
SOCIABLE_EFFECT_TEXT_LEVEL,"When mature, grants [b]{score_increase}[/b] plant point every [b]{near_amount}[/b] nearby plant","Une fois mature, donne [b]{score_increase}[/b] points de jardin toutes les [b]{near_amount}[/b] plantes autour"
STRONG,Strong,Fort
STRONG_EFFECT_TEXT_LEVEL_%d,Plus [b]%d[/b]%% of the score,Augmente le score de [b]%d[/b]%%
SOCIABLE_EFFECT_TEXT,"When mature, grants [b]{score_increase}[/b]{score_icon} every [b]{near_amount}[/b] nearby plants","Une fois mature, donne [b]{score_increase}[/b]{score_icon} toutes les [b]{near_amount}[/b] plantes autour"
TOUGH,Tough,Solide
TOUGH_EFFECT_TEXT_LEVEL_%d,Multiplies the score by [b]2[/b] and increases the growing time by [b]%d[/b] days,"Multiplie le score par [b]2[/b], mais aumgente le temps de pousse de [b]%d[/b] jours"
TOUGH_EFFECT_TEXT,Multiplies {score_icon} by [b]{score_multiplier}[/b] and add [b]{growing_time}[/b]{growing_icon},"Multiplie {score_icon} par [b]{score_multiplier}[/b] et ajoute [b]{growing_time}[/b]{growing_icon}"
FERTILE,Fertile,Fertile
FERTILE_EFFECT_TEXT_LEVEL_%d,Increases the seed number of [b]%d[/b] to all nearby plant,Augmente le nombre de graines de [b]%d[/b] à toutes les plantes autour
FERTILE_EFFECT_TEXT,Add [b]{seed_buff}[/b]{seed_icon} to all nearby plant,Ajoute [b]{seed_buff}[/b]{seed_icon} à toutes les plantes autour
EPHEMERAL,Ephemeral,Éphémère
EPHEMERAL_EFFECT_TEXT_LEVEL,Increases the number of seeds by [b]{seed_number}[/b] when gathered but change the lifetime by [b]{lifetime_change}[/b] days,"Augmente le nombre de graines de [b]{seed_number}[/b] à la récolte, mais modifie le temps de vie de [b]{lifetime_change}[/b]"
EPHEMERAL_EFFECT_TEXT,Add [b]{seed_number}[/b]{seed_icon} but [b]{lifetime_change}[/b]{lifetime_icon},"Ajoute [b]{seed_number}[/b]{seed_icon} mais [b]{lifetime_change}[/b]{lifetime_icon}"
PURIFICATION,Purification,Épuration
PURIFICATION_EFFECT_TEXT_LEVEL_%d,"When mature, decontaminate around the plant in a radius of [b]%d[/b]","Une fois mature, décontamine autour de la plante dans un rayon de [b]%d[/b]"
PURIFICATION_EFFECT_TEXT,"When mature, decontaminate in a radius of [b]{purification_radius}[/b]","Une fois mature, décontamine dans un rayon de [b]{purification_radius}[/b]"
COST_%d_ENERGY,Cost %d energy,Coûte %d dénergie
ONE_TIME_USE,Single use,Usage unique
BUILD_%s,Build %s,Construit %s
@@ -117,15 +98,17 @@ OPEN,Open,Ouvrir
%s_SEED,%s Seed,Graine de %s
PLANT_%s_MUST_BE_USED_IN_DECONTAMINATED_ZONE,Plant [b]%s[/b]. Must be used in the decontamined zone.,Plante [b]%s[/b]. Doit être utilisée dans la zone décontaminée.
PLANT_%s,Plant [b]%s[/b],Planter [b]%s[/b]
USE_YOUR_DETECTOR_TO_FIND_THE_BATTERY,Use your [b]Detector[/b] to find the [b]Recharge station[/b],Utiliser votre [b]Détecteur[/b] pour trouver la [b]Station de recharge[/b]
TAKE_A_SEED,Take a [b]Seed[/b],Prend une [b]Graine[/b]
MOVE_WITH_RIGHT_CLICK_OR_WASD,"Move with right click or WASD","Déplace-toi avec le clic droit ou ZQSD"
SELECT_ITEM_WITH_SCROLL_CLICK_OR_NUMBER,"Select an item in your toolbar with the mouse wheel or by clicking on it","Sélectionne un item dans ta barre d'outil en utilisant la molette ou en cliquant dessus"
LEFT_CLICK_TO_USE_ITEMS,"Use an item with left click","Utilise un item avec le clic gauche"
DROP_SEED_WITH_KEY,"Drop current item with X","Lâche l'item sélectionné avec X"
USE_YOUR_DETECTOR_TO_FIND_THE_BATTERY,Use your [b]Detector[/b] to find the [b]Recharge station[/b],Utilise ton [b]Détecteur[/b] pour trouver la [b]Station de recharge[/b]
TAKE_A_SEED_BY_CLICKING_ON_IT,Take a [b]Seed[/b] by clicking on it,Prend une [b]Graine[/b] en cliquant dessus
DIG_A_TALION_VEIN_WITH_SHOVEL,Dig a [b]Talion Vein[/b] with the [b]Shovel[/b],Creuser un [b]Filon de Talion[/b] avec la [b]Pelle[/b]
PLANT_SEED_IN_FERTILE_ZONE,Plant a [b]Seed[/b] in the [b]Fertile Zone[/b],Planter une [b]Graine[/b] dans la [b]Zone Fertile[/b]
RECHARGE_TO_PASS_DAYS,Recharge on the [b]Recharge station[/b] to pass the day,Se recharger sur la [b]Station de recharge[/b] pour passer la journée
GAIN_FIRST_PLANT_POINT,Earn your first [b]Plant Point[/b] while waiting for a plant to [b]Mature[/b],Gagnez votre premier [b]Point de Plante[/b] en attendant qu'une plante soit [b]Mature[/b]
DISCOVER_A_SEED_WITH_A_MUTATION,Discover a [b]Seed[/b] with a [b]Mutation[/b],Découvrez une [b]Graine[/b] avec une [b]Mutation[/b]
PLANT_A_SEED_WITH_A_MUTATION,Plant a [b]Seed[/b] with a [b]Mutation[/b],Plantez une [b]Graine[/b] avec une [b]Mutation[/b]
HARVEST_A_MATURE_PLANT_WITH_A_MUTATION,Harvest a [b]Mature Plant[/b] with a [b]Mutation[/b] using your [b]Shovel[/b],Récoltez une [b]Plante Mature[/b] avec une [b]Mutation[/b] en utilisant votre [b]Pelle[/b]
HARVEST_A_MATURE_PLANT,Harvest a [b]Mature Plant[/b] using your [b]Shovel[/b],Récoltez une [b]Plante Mature[/b] en utilisant votre [b]Pelle[/b]
%d_PLANT_POINT,%d Plant Point,%d Point de plante
%d_PLANT_POINTS,%d Plant Points,%d Points de plante
SCORE_%d,Score %d,Score %d
1 keys en fr
2 TUTORIAL Tutorial Tutoriel
3 PLANT_INFO ICONS_MEANINGS Plant Info Icons Meanings Informations de plantes Signification des Icônes
4 PLANT_INFO_TEXT PLANT_POINTS [b]1[/b] Name [b]2[/b] Archetype [b]3[/b] Score [b]4[/b] Age [b]5[/b] Growing time [b]6[/b] Lifetime Plant points [b]1[/b] Nom [b]2[/b] Archétype [b]3[/b] Score [b]4[/b] Age [b]5[/b] Temps de croissance [b]6[/b] Durée de vie Points de plante
5 TERRAINS DAYS Terrains Days Terrains Jours
6 FERTILE_LAND_TEXT GROWING_TIME [b]Fertile Land[/b] Seeds can only be planted on this zone Growing time (in days) [b]Terre fertile[/b] Des graines peuvent être plantées dans cette zone Temps de pousse (en jour)
7 ROCK_TEXT LIFETIME [b]Rock[/b] Can be dug with a shovel Lifetime (in days) [b]Roche[/b] Peut être creusée avec une pelle Durée de vie (en jour)
8 TALION_VEIN_TEXT SEEDS [b]Talion Vein[/b] Can be dug with a shovel, contains random seeds Seeds [b]Veine de Talion[/b] Peut être creusée avec une pelle, contient des graines aléatoire Graines
OK Ok Ok
GARDEN Garden Jardin
COMMA , ,
OR or ou
PAUSE Pause Pause
CONTROLS Controls Contrôles
9 RESUME_GAME TERRAINS Resume Terrains Reprendre Terrains
10 RESTART FERTILE_LAND_TEXT Restart [b]Fertile Land[/b] Seeds can only be planted on this zone Recommencer [b]Terre fertile[/b] Des graines peuvent être plantées dans cette zone
11 QUIT ROCK_TEXT Quit [b]Rock[/b] Can be dug with a shovel Quitter [b]Roche[/b] Peut être creusée avec une pelle
34 WHEN_FILLED EFFECT When filled Effect Si rempli Effet
35 GIVE_THE_FOLLOWING_ITEM_%s MATURE Give the following item : [b]%s[/b] Mature Donne l’objet suivant : [b]%s[/b] Mature
36 UPGRADE_MAX_ENERGY GROWING Increases maximum energy Growing Augmente l’énergie maximum En train de pousser
37 JUVENILE Juvenile Juvénile
38 UPGRADE_MAX_INVENTORY_SIZE DECONTAMINATE Increases inventory size Decontaminate Augmente la taille de l’inventaire Décontamine
39 DECONTAMINATE_%d_UNIT_AROUND_IT %d_CHARGE_LEFT Decontaminate %d unit around it %d charge left Décontamine %d unités autour d’elle %d charges restants
40 SEED_PRODUCTION LAST_RECHARGE Seed Production One recharge remaining Production de graines Une recharge restante
55 UPGRADE_THE_LEVEL_OF_%s_EFFECT_OF_%d_LEVEL ABSURD Upgrade the level of %s effect of %d level [rainbow]Absurd[/rainbow] Améliore l'effet %s de %d niveau [rainbow]Absurde[/rainbow]
56 ANCIENT GROW_IN_%d Ancient Grow in [b]%d[/b] days Ancien Mature dans [b]%d[/b] jours
57 ANCIENT_EFFECT_TEXT_LEVEL DIE_ON_DAY_%d When mature, grants [b]{score_increase}[/b] plant point each [b]{day_factor}[/b] days Die on day %d Une fois mature, donne [b]{score_increase}[/b] points de plantes tous les [b]{day_factor}[/b] jours Meurs au jour %d
ELITIST Elitist Élitiste
ELITIST_EFFECT_TEXT_LEVEL_%d When mature, grants [b]%d[/b] plant point for each plant of the same species around, but do not give any points if it is alone. Une fois mature, donne [b]%d[/b] points de jardin pour chaque plante de la même espèce aux alentours, mais n’en donne aucun si elle est seule.
ERMIT Hermit Ermite
ERMIT_EFFECT_TEXT_LEVEL_%d Multiply the garden score by [b]%d[/b] if no plants are nearby, otherwise, set it to 0. Multiplie le score de jardin par [b]%d[/b] si aucune plante n’est proche, sinon le score est nul.
PRECOCIOUS Precocious Précoce
PRECOCIOUS_EFFECT_TEXT_LEVEL_%d Grants [b]%d[/b] plant point while the plant is growing Donne [b]%d[/b] points de jardin pendant que la plante grandit
QUALITY Quality Qualité
QUALITY_EFFECT_TEXT_LEVEL_%d Grants [b]%d[/b] plant point if the plant is mature. Donne [b]%d[/b] points de jardin si la plante est mature.
58 QUICK ANCIENT Quick Ancient Rapide Ancien
59 QUICK_EFFECT_TEXT_LEVEL ANCIENT_EFFECT_TEXT Grants [b]{score_increase}[/b] plant point when mature but reduces the lifetime by [b]{lifetime_decrease}[/b] When mature, add [b]{score_increase}[/b]{score_icon} each [b]{day_factor}[/b]{duration_icon} Augmente le score mature de [b]{score_increase}[/b], mais réduit le temps de vie de [b]{lifetime_decrease}[/b] Une fois mature, ajoute [b]{score_increase}[/b]{score_icon} tous les [b]{day_factor}[/b]{duration_icon}
SOCIABLE Outgoing Sociable
SOCIABLE_EFFECT_TEXT_LEVEL When mature, grants [b]{score_increase}[/b] plant point every [b]{near_amount}[/b] nearby plant Une fois mature, donne [b]{score_increase}[/b] points de jardin toutes les [b]{near_amount}[/b] plantes autour
STRONG Strong Fort
STRONG_EFFECT_TEXT_LEVEL_%d Plus [b]%d[/b]%% of the score Augmente le score de [b]%d[/b]%%
60 TOUGH PRECOCIOUS Tough Precocious Solide Précoce
61 TOUGH_EFFECT_TEXT_LEVEL_%d PRECOCIOUS_EFFECT_TEXT Multiplies the score by [b]2[/b] and increases the growing time by [b]%d[/b] days [b]{score}[/b]{score_icon} while the plant is growing Multiplie le score par [b]2[/b], mais aumgente le temps de pousse de [b]%d[/b] jours [b]{score}[/b]{score_icon} pendant que la plante grandit
62 FERTILE QUALITY Fertile Quality Fertile Qualité
63 FERTILE_EFFECT_TEXT_LEVEL_%d QUALITY_EFFECT_TEXT Increases the seed number of [b]%d[/b] to all nearby plant [b]{score}[/b]{score_icon} if the plant is mature Augmente le nombre de graines de [b]%d[/b] à toutes les plantes autour [b]{score}[/b]{score_icon} si la plante est mature
64 EPHEMERAL QUICK Ephemeral Quick Éphémère Rapide
65 EPHEMERAL_EFFECT_TEXT_LEVEL QUICK_EFFECT_TEXT Increases the number of seeds by [b]{seed_number}[/b] when gathered but change the lifetime by [b]{lifetime_change}[/b] days [b]{lifetime_decrease}[/b]{lifetime_icon} and when mature [b]{score_increase}[/b]{score_icon} Augmente le nombre de graines de [b]{seed_number}[/b] à la récolte, mais modifie le temps de vie de [b]{lifetime_change}[/b] [b]{lifetime_decrease}[/b]{lifetime_icon} et une fois mature [b]{score_increase}[/b]{score_icon}
66 PURIFICATION SOCIABLE Purification Outgoing Épuration Sociable
67 PURIFICATION_EFFECT_TEXT_LEVEL_%d SOCIABLE_EFFECT_TEXT When mature, decontaminate around the plant in a radius of [b]%d[/b] When mature, grants [b]{score_increase}[/b]{score_icon} every [b]{near_amount}[/b] nearby plants Une fois mature, décontamine autour de la plante dans un rayon de [b]%d[/b] Une fois mature, donne [b]{score_increase}[/b]{score_icon} toutes les [b]{near_amount}[/b] plantes autour
COST_%d_ENERGY Cost %d energy Coûte %d d’énergie
ONE_TIME_USE Single use Usage unique
68 BUILD_%s TOUGH Build %s Tough Construit %s Solide
69 FORK TOUGH_EFFECT_TEXT Fork Multiplies {score_icon} by [b]{score_multiplier}[/b] and add [b]{growing_time}[/b]{growing_icon} Fourche Multiplie {score_icon} par [b]{score_multiplier}[/b] et ajoute [b]{growing_time}[/b]{growing_icon}
70 FORK_DESC_TEXT FERTILE Use it to [b]harvest mature plants[/b]. Fertile Utilise-la pour [b]récolter les plantes mature[/b]. Fertile
71 DETECTOR FERTILE_EFFECT_TEXT Detector Add [b]{seed_buff}[/b]{seed_icon} to all nearby plant Détecteur Ajoute [b]{seed_buff}[/b]{seed_icon} à toutes les plantes autour
72 DETECTOR_DESC_TEXT EPHEMERAL Indicate [b]near signals[/b]. Ephemeral Indique les [b]signaux proches[/b] Éphémère
73 DETECT_USE_TEXT EPHEMERAL_EFFECT_TEXT Search near signals Add [b]{seed_number}[/b]{seed_icon} but [b]{lifetime_change}[/b]{lifetime_icon} Rechercher les signaux proches Ajoute [b]{seed_number}[/b]{seed_icon} mais [b]{lifetime_change}[/b]{lifetime_icon}
74 SHIP_TELEPORT PURIFICATION Ship Portal Purification Portail vers le vaisseau Épuration
75 SHIP_TELEPORT_DESC_TEXT PURIFICATION_EFFECT_TEXT A mysterious technology that get you to the [b]Internode[/b]. When mature, decontaminate in a radius of [b]{purification_radius}[/b] Une mystèrieuse technologie qui t'amène sur l'[b]Internode[/b] Une fois mature, décontamine dans un rayon de [b]{purification_radius}[/b]
76 SHIP_TELEPORT_USE_TEXT COST_%d_ENERGY Teleport on the ship Cost %d energy Téléportation sur le vaisseau Coûte %d d’énergie
77 HARVEST ONE_TIME_USE Harvest Single use Récolter Usage unique
78 KNIFE BUILD_%s Knife Build %s Couteau Construit %s
98 PLANT_A_SEED_WITH_A_MUTATION %s_SEED Plant a [b]Seed[/b] with a [b]Mutation[/b] %s Seed Plantez une [b]Graine[/b] avec une [b]Mutation[/b] Graine de %s
99 HARVEST_A_MATURE_PLANT_WITH_A_MUTATION PLANT_%s_MUST_BE_USED_IN_DECONTAMINATED_ZONE Harvest a [b]Mature Plant[/b] with a [b]Mutation[/b] using your [b]Shovel[/b] Plant [b]%s[/b]. Must be used in the decontamined zone. Récoltez une [b]Plante Mature[/b] avec une [b]Mutation[/b] en utilisant votre [b]Pelle[/b] Plante [b]%s[/b]. Doit être utilisée dans la zone décontaminée.
100 %d_PLANT_POINT PLANT_%s %d Plant Point Plant [b]%s[/b] %d Point de plante Planter [b]%s[/b]
101 %d_PLANT_POINTS MOVE_WITH_RIGHT_CLICK_OR_WASD %d Plant Points Move with right click or WASD %d Points de plante Déplace-toi avec le clic droit ou ZQSD
102 SCORE_%d SELECT_ITEM_WITH_SCROLL_CLICK_OR_NUMBER Score %d Select an item in your toolbar with the mouse wheel or by clicking on it Score %d Sélectionne un item dans ta barre d'outil en utilisant la molette ou en cliquant dessus
103 LEFT_CLICK_TO_USE_ITEMS Use an item with left click Utilise un item avec le clic gauche
104 DROP_SEED_WITH_KEY Drop current item with X Lâche l'item sélectionné avec X
105 USE_YOUR_DETECTOR_TO_FIND_THE_BATTERY Use your [b]Detector[/b] to find the [b]Recharge station[/b] Utilise ton [b]Détecteur[/b] pour trouver la [b]Station de recharge[/b]
106 TAKE_A_SEED_BY_CLICKING_ON_IT Take a [b]Seed[/b] by clicking on it Prend une [b]Graine[/b] en cliquant dessus
107 ENTER DIG_A_TALION_VEIN_WITH_SHOVEL Enter Dig a [b]Talion Vein[/b] with the [b]Shovel[/b] Entrer Creuser un [b]Filon de Talion[/b] avec la [b]Pelle[/b]
108 EXIT PLANT_SEED_IN_FERTILE_ZONE Exit Plant a [b]Seed[/b] in the [b]Fertile Zone[/b] Sortie Planter une [b]Graine[/b] dans la [b]Zone Fertile[/b]
109 EXIT_TRUCK RECHARGE_TO_PASS_DAYS Exit truck Recharge on the [b]Recharge station[/b] to pass the day Sortir du camion Se recharger sur la [b]Station de recharge[/b] pour passer la journée
110 LADDER_DESC_TEXT GAIN_FIRST_PLANT_POINT A good old ladder Earn your first [b]Plant Point[/b] while waiting for a plant to [b]Mature[/b] Une bonne vieille échelle Gagnez votre premier [b]Point de Plante[/b] en attendant qu'une plante soit [b]Mature[/b]
111 RECHARGE_STATION HARVEST_A_MATURE_PLANT Recharge station Harvest a [b]Mature Plant[/b] using your [b]Shovel[/b] Station de recharge Récoltez une [b]Plante Mature[/b] en utilisant votre [b]Pelle[/b]
RECHARGE Recharge Recharger
RECHARGE_STATION_DESC_TEXT [b]You can recharge yourself here.[/b] When recharging, time pass and plants grow. [b]Tu peux te recharger ici.[/b] Pendant la recharge, le temps passe et les plantes grandissent.
112 COMPOST %d_PLANT_POINT Compost %d Plant Point Compost %d Point de plante
113 START %d_PLANT_POINTS Start %d Plant Points Commencer %d Points de plante
114 CONTINUE SCORE_%d Continue Score %d Continuer Score %d