Fix divers beta 1.4

* Changement du son de récupération d'objet
* Ajout d'une couleur de rareté et suppression de la boucle sur la couleur de rareté
* Changement de la mutation Prolifique : n'ajoute des graines que si mature
* Changement de la mutation Rapide : réduction du debuff de temps de vie par 2
* Modification de la mutation Vivace : Augmentation des points ajoutés
* Les graines données sur des plantes non mature ne mutent plus
* Fix sur la plantation, on ne peut plus planter là où il y a de la roche
* Fix visuel : les particule de vent ne s'affichent plus lorsqu'il pleut
This commit is contained in:
2026-05-17 16:40:22 +02:00
parent 1e31fe19e4
commit 4c4b051f3f
15 changed files with 29 additions and 21 deletions

View File

@@ -2,7 +2,6 @@
[ext_resource type="Script" uid="uid://2p5d6vogtn82" path="res://common/audio_manager/scripts/audio_manager.gd" id="1_0tvca"] [ext_resource type="Script" uid="uid://2p5d6vogtn82" path="res://common/audio_manager/scripts/audio_manager.gd" id="1_0tvca"]
[ext_resource type="AudioStream" uid="uid://dq2nodhwnp73f" path="res://common/audio_manager/assets/ambiance/cave/solarmusic-dripping-water-in-cave-114694.ogg" id="2_ge2sc"] [ext_resource type="AudioStream" uid="uid://dq2nodhwnp73f" path="res://common/audio_manager/assets/ambiance/cave/solarmusic-dripping-water-in-cave-114694.ogg" id="2_ge2sc"]
[ext_resource type="AudioStream" uid="uid://dipnmlprwfo12" path="res://common/audio_manager/assets/ambiance/niveau/ambiance_phase_1.ogg" id="2_tuvql"]
[ext_resource type="AudioStream" uid="uid://dipnmlprwfo12" path="res://common/audio_manager/assets/ambiance/niveau/ambiance.ogg" id="3_qvjf5"] [ext_resource type="AudioStream" uid="uid://dipnmlprwfo12" path="res://common/audio_manager/assets/ambiance/niveau/ambiance.ogg" id="3_qvjf5"]
[ext_resource type="AudioStream" uid="uid://b1hut6lc1jevh" path="res://common/audio_manager/assets/morceaux/niveau/mines_phase_2.ogg" id="4_2fduo"] [ext_resource type="AudioStream" uid="uid://b1hut6lc1jevh" path="res://common/audio_manager/assets/morceaux/niveau/mines_phase_2.ogg" id="4_2fduo"]
[ext_resource type="AudioStream" uid="uid://cdohaice7nc8d" path="res://common/audio_manager/assets/ambiance/niveau/ambiance_foggy.ogg" id="4_ipd1r"] [ext_resource type="AudioStream" uid="uid://cdohaice7nc8d" path="res://common/audio_manager/assets/ambiance/niveau/ambiance_foggy.ogg" id="4_ipd1r"]

View File

@@ -72,7 +72,7 @@ func set_announce_artefact(artefact := announce_artefact):
if not visible: if not visible:
%AnimationPlayer.play("appear") %AnimationPlayer.play("appear")
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
AudioManager.play_sfx("Reveal") AudioManager.play_sfx("Unlock_tool")
elif artefact == null and visible: elif artefact == null and visible:
%AnimationPlayer.play_backwards("appear") %AnimationPlayer.play_backwards("appear")

View File

@@ -68,7 +68,7 @@ func set_announce_mutation(mutation := announce_mutation):
if not visible: if not visible:
%AnimationPlayer.play("appear") %AnimationPlayer.play("appear")
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
AudioManager.play_sfx("Reveal") AudioManager.play_sfx("Unlock_tool")
elif mutation == null and visible: elif mutation == null and visible:
%AnimationPlayer.play_backwards("appear") %AnimationPlayer.play_backwards("appear")

View File

@@ -118,10 +118,11 @@ static func get_rarity_text(rarity) -> String:
static func get_rarity_color(rarity: int) -> Color: static func get_rarity_color(rarity: int) -> Color:
var rarity_colors: Array[Color] = [ var rarity_colors: Array[Color] = [
Color("2364AA"),
Color("25C147"), Color("25C147"),
Color("8B2DFF"), Color("8B2DFF"),
Color("FF006E"), Color("FF006E"),
Color("FFA617"), Color("FFA617"),
] ]
return rarity_colors[rarity%len(rarity_colors)] return rarity_colors[min(rarity, len(rarity_colors) - 1)]

View File

@@ -13,7 +13,9 @@ func get_mutation_description() -> String:
"seeds_icon": Text.bbcode_icon(Plant.SEED_ICON) "seeds_icon": Text.bbcode_icon(Plant.SEED_ICON)
}) })
func mutate_seed_number(_plant_data: PlantData, seed_number: int) -> int: func mutate_seed_number(data: PlantData, seed_number: int) -> int:
if data.get_state() != PlantData.State.MATURE:
return seed_number
return get_seed_change() + seed_number return get_seed_change() + seed_number
func get_seed_change(): func get_seed_change():

View File

@@ -33,4 +33,4 @@ func get_score_increase() -> int:
return level * 2 return level * 2
func get_lifetime_change() -> int: func get_lifetime_change() -> int:
return -3 return -2

View File

@@ -19,4 +19,4 @@ func mutate_score(data : PlantData, score : int) -> int:
return score return score
func get_score_change(): func get_score_change():
return level * 2 return level * 3

View File

@@ -27,7 +27,10 @@ static func generate_from_parent(plant_data : PlantData) -> Seed:
mutations = mutate_mutations(plant_data.mutations) mutations = mutate_mutations(plant_data.mutations)
mutation_probability -= 1 mutation_probability -= 1
if randf() < GameInfo.game_data.current_run.plant_info.get_mutation_probability(): if (
plant_data.get_state() == PlantData.State.MATURE
and randf() < GameInfo.game_data.current_run.plant_info.get_mutation_probability()
):
return Seed.new( return Seed.new(
plant_data.plant_name, plant_data.plant_name,
mutate_mutations(mutations) mutate_mutations(mutations)

View File

@@ -91,7 +91,7 @@ func set_announce_object(object := announce_object):
if not visible: if not visible:
%AnimationPlayer.play("appear") %AnimationPlayer.play("appear")
Pointer.action_disabled = true Pointer.action_disabled = true
AudioManager.play_sfx("Reveal") AudioManager.play_sfx("Unlock_tool")
elif object == null and visible: elif object == null and visible:
%AnimationPlayer.play_backwards("appear") %AnimationPlayer.play_backwards("appear")
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 KiB

After

Width:  |  Height:  |  Size: 388 KiB

View File

@@ -287,25 +287,25 @@ transform = Transform3D(0.86598426, 0, -0.5000024, 0, 0.9999422, 0, 0.49997625,
[node name="cockpit2" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship" unique_id=1190034532 instance=ExtResource("4_ofwam")] [node name="cockpit2" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship" unique_id=1190034532 instance=ExtResource("4_ofwam")]
[node name="Skeleton3D" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature" parent_id_path=PackedInt32Array(1190034532, 368440226) index="0" unique_id=1318180746] [node name="Skeleton3D" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature" parent_id_path=PackedInt32Array(1190034532, 856976144) index="0" unique_id=1970411272]
bones/0/rotation = Quaternion(-0.52081746, 0.47827742, 0.52081746, 0.47827742) bones/0/rotation = Quaternion(-0.52081746, 0.47827742, 0.52081746, 0.47827742)
bones/1/rotation = Quaternion(0.042539995, -1.4957005e-08, -9.944439e-10, 0.9990948) bones/1/rotation = Quaternion(0.042539995, -1.4957005e-08, -9.944439e-10, 0.9990948)
bones/2/rotation = Quaternion(0.52081746, 0.47827742, 0.52081746, -0.47827742) bones/2/rotation = Quaternion(0.52081746, 0.47827742, 0.52081746, -0.47827742)
bones/3/rotation = Quaternion(0.042539995, 1.4957005e-08, 9.944439e-10, 0.9990948) bones/3/rotation = Quaternion(0.042539995, 1.4957005e-08, 9.944439e-10, 0.9990948)
[node name="WinkEnd_R" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="0" unique_id=1435098475] [node name="WinkEnd_R" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="0" unique_id=2031973763]
transform = Transform3D(7.145433e-10, -1, -7.4505806e-08, 2.9971538e-08, -4.4703484e-08, 1, -1, -7.1454553e-10, 2.9971538e-08, -12.358327, -1.0543112, -8.881784e-16) transform = Transform3D(7.145433e-10, -1, -7.4505806e-08, 2.9971538e-08, -4.4703484e-08, 1, -1, -7.1454553e-10, 2.9971538e-08, -12.358327, -1.0543112, -8.881784e-16)
[node name="Wing_R" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="1" unique_id=891044283] [node name="Wing_R" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="1" unique_id=203164776]
transform = Transform3D(0, -0.9963807, -0.08500305, 0, -0.08500302, 0.9963807, -1, 0, 0, 0, 0, 0) transform = Transform3D(0, -0.9963807, -0.08500305, 0, -0.08500302, 0.9963807, -1, 0, 0, 0, 0, 0)
[node name="WinkEnd_L" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="2" unique_id=908817672] [node name="WinkEnd_L" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="2" unique_id=206539248]
transform = Transform3D(7.145433e-10, 1, 7.4505806e-08, -2.9971538e-08, -4.4703484e-08, 1, 1, -7.1454553e-10, 2.9971538e-08, 12.358327, -1.0543112, 0) transform = Transform3D(7.145433e-10, 1, 7.4505806e-08, -2.9971538e-08, -4.4703484e-08, 1, 1, -7.1454553e-10, 2.9971538e-08, 12.358327, -1.0543112, 0)
[node name="Wing_L" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="3" unique_id=74621525] [node name="Wing_L" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="3" unique_id=1082612885]
transform = Transform3D(0, 0.9963807, 0.08500305, 0, -0.08500302, 0.9963807, 1, 0, 0, 0, 0, 0) transform = Transform3D(0, 0.9963807, 0.08500305, 0, -0.08500302, 0.9963807, 1, 0, 0, 0, 0, 0)
[node name="AnimationPlayer" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2" index="6" unique_id=1861191625] [node name="AnimationPlayer" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2" index="7" unique_id=980851307]
autoplay = &"Fold" autoplay = &"Fold"
[node name="Camera3D" type="Camera3D" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=541588220] [node name="Camera3D" type="Camera3D" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=541588220]

View File

@@ -28,6 +28,7 @@ func _ready():
func apply_meteo(): func apply_meteo():
rain_particles.amount = max(1,int(1000 * meteo.rain_value)) rain_particles.amount = max(1,int(1000 * meteo.rain_value))
rain_particles.visible = meteo.rain_value != 0. rain_particles.visible = meteo.rain_value != 0.
wind_particles.visible = meteo.rain_value == 0.
rain_particles.scale.x = -1 if meteo.wind_direction.x > 0 else 1 rain_particles.scale.x = -1 if meteo.wind_direction.x > 0 else 1
var wind_particle_material : ParticleProcessMaterial = wind_particles.process_material as ParticleProcessMaterial var wind_particle_material : ParticleProcessMaterial = wind_particles.process_material as ParticleProcessMaterial

View File

@@ -252,10 +252,9 @@ func is_coords_rocky(tiles_coords : Array[Vector2i]):
var chunk : Chunk = get_chunk_for_coord(coord) var chunk : Chunk = get_chunk_for_coord(coord)
if chunk: if chunk:
var local_coord := TilesDiffData.get_local_coord(coord, chunk.chunk_coord) var local_coord := TilesDiffData.get_local_coord(coord, chunk.chunk_coord)
print(chunk.rock_layer.get_tile_type(local_coord)) if chunk.rock_layer.get_tile_type(local_coord) == RockLayer.TileType.ROCK:
if chunk.rock_layer.get_tile_type(local_coord) != RockLayer.TileType.EMPTY:
return false
return true return true
return false
func dig_rocks(tiles_coords : Array[Vector2i], save_tiles_diff := true, loot := true): func dig_rocks(tiles_coords : Array[Vector2i], save_tiles_diff := true, loot := true):
if save_tiles_diff : if save_tiles_diff :

View File

@@ -42,5 +42,8 @@ func has_tile(coord : Vector2i) -> bool:
func get_tile_type(coord : Vector2i) -> TileType: func get_tile_type(coord : Vector2i) -> TileType:
if has_tile(coord): if has_tile(coord):
return TileType.CRISTAL if get_cell_tile_data(coord).terrain == CRISTAL_TILE_TERRAIN else TileType.ROCK if get_cell_tile_data(coord).terrain == CRISTAL_TILE_TERRAIN:
return TileType.CRISTAL
elif get_cell_tile_data(coord).terrain == ROCK_TILE_TERRAIN:
return TileType.ROCK
return TileType.EMPTY return TileType.EMPTY

View File

@@ -80,7 +80,7 @@ VIVACIOUS_EFFECT_TEXT,[b]{score_change}[/b]{score_icon} the first day of maturat
ROBUST,Robust,Robuste ROBUST,Robust,Robuste
ROBUST_EFFECT_TEXT,[b]+{lifetime_change}[/b]{lifetime_icon},[b]+{lifetime_change}[/b]{lifetime_icon} ROBUST_EFFECT_TEXT,[b]+{lifetime_change}[/b]{lifetime_icon},[b]+{lifetime_change}[/b]{lifetime_icon}
PROLIFIC,Prolific,Prolifique PROLIFIC,Prolific,Prolifique
PROLIFIC_EFFECT_TEXT,[b]+{seeds_change}[/b]{seeds_icon},[b]+{seeds_change}[/b]{seeds_icon} PROLIFIC_EFFECT_TEXT,[b]+{seeds_change}[/b]{seeds_icon} if mature,[b]+{seeds_change}[/b]{seeds_icon} si mature
PURE,Pure,Pure PURE,Pure,Pure
PURE_EFFECT_TEXT,Multiplies {score_icon} by [b]{score_multiplier}[/b] if the all the area around is fertile,Multiplie {score_icon} par [b]{score_multiplier}[/b] si toute la zone autour est fertile PURE_EFFECT_TEXT,Multiplies {score_icon} by [b]{score_multiplier}[/b] if the all the area around is fertile,Multiplie {score_icon} par [b]{score_multiplier}[/b] si toute la zone autour est fertile
GENEROUS,Generous,Généreux GENEROUS,Generous,Généreux
1 keys en fr
80 ROBUST Robust Robuste
81 ROBUST_EFFECT_TEXT [b]+{lifetime_change}[/b]{lifetime_icon} [b]+{lifetime_change}[/b]{lifetime_icon}
82 PROLIFIC Prolific Prolifique
83 PROLIFIC_EFFECT_TEXT [b]+{seeds_change}[/b]{seeds_icon} [b]+{seeds_change}[/b]{seeds_icon} if mature [b]+{seeds_change}[/b]{seeds_icon} [b]+{seeds_change}[/b]{seeds_icon} si mature
84 PURE Pure Pure
85 PURE_EFFECT_TEXT Multiplies {score_icon} by [b]{score_multiplier}[/b] if the all the area around is fertile Multiplie {score_icon} par [b]{score_multiplier}[/b] si toute la zone autour est fertile
86 GENEROUS Generous Généreux