équilibrages, fix et évolutions

* résolution du bug de disparition des items #94
* améliorations définitives dans le camion via compost #88
* ajout de plus d'aléatoire dans le zone de départ
* suppression des récompenses de quota (pour l'instant)
* équilibrage du gain en graine
* ajout de la clarté dans les actions
This commit is contained in:
2025-10-17 17:53:38 +02:00
parent 15175921c4
commit f1ef41323a
62 changed files with 709 additions and 369 deletions

View File

@@ -10,6 +10,7 @@
[sub_resource type="Resource" id="Resource_40c3e"]
script = ExtResource("2_prk5s")
level = 2
metadata/_custom_type_script = "uid://ceqx5va1ormau"
[sub_resource type="Resource" id="Resource_k7yib"]

View File

@@ -10,7 +10,7 @@
[sub_resource type="Resource" id="Resource_0ofiq"]
script = ExtResource("2_rb4mq")
level = 1
level = 2
metadata/_custom_type_script = "uid://ceqx5va1ormau"
[sub_resource type="Resource" id="Resource_7wddl"]

View File

@@ -9,7 +9,7 @@
[sub_resource type="Resource" id="Resource_1llfc"]
script = ExtResource("2_740j2")
level = 2
level = 3
metadata/_custom_type_script = "uid://ceqx5va1ormau"
[sub_resource type="AtlasTexture" id="AtlasTexture_sri3b"]

View File

@@ -8,15 +8,16 @@
[ext_resource type="Script" uid="uid://ceqx5va1ormau" path="res://entities/plants/scripts/plant_effects/produce_seeds.gd" id="3_26e4l"]
[ext_resource type="Texture2D" uid="uid://pltmnkqd5ut2" path="res://entities/plants/assets/sprites/seeds/grille_seeds.png" id="5_26e4l"]
[sub_resource type="Resource" id="Resource_eytxu"]
[sub_resource type="Resource" id="Resource_kidty"]
script = ExtResource("3_26e4l")
level = 2
metadata/_custom_type_script = "uid://ceqx5va1ormau"
[sub_resource type="Resource" id="Resource_8fstu"]
script = ExtResource("2_8fstu")
level = 2
metadata/_custom_type_script = "uid://cgscbuxe4dawb"
[sub_resource type="Resource" id="Resource_kidty"]
script = ExtResource("3_26e4l")
metadata/_custom_type_script = "uid://ceqx5va1ormau"
[sub_resource type="AtlasTexture" id="AtlasTexture_kidty"]
atlas = ExtResource("5_26e4l")
region = Rect2(1415, 91, 149, 102)
@@ -29,6 +30,6 @@ default_growing_time = 3
seed_texture = SubResource("AtlasTexture_kidty")
growing_texture = ExtResource("2_k4b1k")
mature_texture = ExtResource("3_8fstu")
default_harvest_effects = Array[ExtResource("1_8fstu")]([SubResource("Resource_kidty"), null])
default_cyclic_effects = Array[ExtResource("1_8fstu")]([SubResource("Resource_eytxu")])
default_harvest_effects = Array[ExtResource("1_8fstu")]([SubResource("Resource_kidty")])
default_mature_effects = Array[ExtResource("1_8fstu")]([SubResource("Resource_8fstu")])
metadata/_custom_type_script = "uid://jnye5pe1bgqw"

View File

@@ -4,16 +4,14 @@
[ext_resource type="Script" uid="uid://ceqx5va1ormau" path="res://entities/plants/scripts/plant_effects/produce_seeds.gd" id="2_1q5bp"]
[ext_resource type="Script" uid="uid://jnye5pe1bgqw" path="res://entities/plants/scripts/plant_type.gd" id="2_x4nie"]
[ext_resource type="Texture2D" uid="uid://c00jac2jlgdfu" path="res://entities/plants/assets/sprites/solita/growing.png" id="3_j4n5p"]
[ext_resource type="Texture2D" uid="uid://b3wom2xu26g43" path="res://entities/plants/assets/sprites/solita/mature.png" id="4_njidq"]
[ext_resource type="Texture2D" uid="uid://pltmnkqd5ut2" path="res://entities/plants/assets/sprites/seeds/grille_seeds.png" id="6_yn0yu"]
[sub_resource type="Resource" id="Resource_3fdsj"]
script = ExtResource("2_1q5bp")
level = 1
level = 2
metadata/_custom_type_script = "uid://ceqx5va1ormau"
[sub_resource type="Resource" id="Resource_j4n5p"]
metadata/__load_path__ = "res://entities/plants/assets/sprites/default_plant_glowing.png"
[sub_resource type="AtlasTexture" id="AtlasTexture_auuc2"]
atlas = ExtResource("6_yn0yu")
region = Rect2(335, 74, 134, 142)
@@ -26,6 +24,6 @@ default_growing_time = 3
default_plant_score = 2
seed_texture = SubResource("AtlasTexture_auuc2")
growing_texture = ExtResource("3_j4n5p")
mature_texture = SubResource("Resource_j4n5p")
mature_texture = ExtResource("4_njidq")
default_harvest_effects = Array[ExtResource("1_mksys")]([SubResource("Resource_3fdsj")])
metadata/_custom_type_script = "uid://jnye5pe1bgqw"

View File

@@ -44,7 +44,7 @@ func _init(
plant_mutations = _plant_mutations
func pointer_text():
func pointer_text() -> String:
var state_text = "Growing"
if state == State.MATURE: state_text = "Mature"
return state_text + " " + plant_type.name

View File

@@ -2,7 +2,7 @@ extends PlantEffect
class_name DecontaminateTerrainEffect
func get_decontamination_radius():
return 100 * level
return 50 + 50 * level
func get_effect_name() -> String:
return "Decontaminate"

View File

@@ -2,7 +2,7 @@ extends PlantEffect
class_name ProduceSeedsEffect
func get_produce_number():
return [level - 1, level, level + 1]
return [level - 1, level]
func get_effect_name() -> String:
return "Seed Production"

View File

@@ -13,11 +13,12 @@ func get_mutation_name() -> String:
return "Ancient"
func get_mutation_description() -> String:
return "Add [b]1[/b] to the score for each [b]%d[/b] days passed" % get_day_factor()
return "When mature, add [b]1[/b] to the score for each [b]%d[/b] days passed" % get_day_factor()
func get_day_factor():
return max(1, DEFAULT_DAY_FACTOR - level + 1)
func mutate_score(plant : Plant, score) -> int:
if plant.state != Plant.State.MATURE:
return score
return score + floori(plant.day / get_day_factor())

View File

@@ -8,12 +8,14 @@ func get_base_rarity() -> int:
return 0
func get_mutation_name() -> String:
return "Intolerant"
return "Elitist"
func get_mutation_description() -> String:
return "Add [b]%d[/b] to the score for each plant of the same species around, but score become 0 if none is around." % level
return "When mature, add [b]%d[/b] to the score for each plant of the same species around, but score become 0 if none is around." % level
func mutate_score(plant : Plant, score) -> int:
if plant.state != Plant.State.MATURE:
return score
var plant_count = 0
for area in plant.influence_zone.get_overlapping_areas():

View File

@@ -13,12 +13,14 @@ func get_mutation_name() -> String:
return "Sociable"
func get_mutation_description() -> String:
return "Add [b]%d[/b] to the score if near %d other plants" % [get_score_bonus(), NEAR_PLANT_NEEDED]
return "When mature, add [b]%d[/b] to the score if near %d other plants" % [get_score_bonus(), NEAR_PLANT_NEEDED]
func get_score_bonus():
return (level + 2)
func mutate_score(plant : Plant, score) -> int:
if plant.state != Plant.State.MATURE:
return score
var plant_count = 0
for area in plant.influence_zone.get_overlapping_areas():