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

@@ -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:
return level
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