changement du scene manager, amélioration du cockpit et autres

* refonte du scene manager
* refonte du audio manager
* premier rework des plantes
* nettoyage des dossiers/fichiers
* renommage de planète en region
* fix des run
This commit is contained in:
2026-01-23 18:06:27 +01:00
parent 62b34473b6
commit 83d462f2f4
247 changed files with 2964 additions and 3159 deletions

View File

@@ -18,7 +18,7 @@ func get_mutation_description() -> String:
func get_day_factor():
return max(1, DEFAULT_DAY_FACTOR - level + 1)
func mutate_score(plant_state : Plant.State, plant : Plant, score) -> int:
if plant_state != Plant.State.MATURE:
func mutate_score(data : PlantData, score) -> int:
if data.get_state() != PlantData.State.MATURE:
return score
return score + floori(plant.day / get_day_factor())
return score + floori(data.day / get_day_factor())

View File

@@ -1,29 +0,0 @@
extends PlantMutation
class_name ElitistMutation
func get_icon() -> Texture:
return preload("res://common/icons/copy.svg")
func get_base_rarity() -> int:
return 0
func get_mutation_name() -> String:
return tr("ELITIST")
func get_mutation_description() -> String:
return tr("ELITIST_EFFECT_TEXT_LEVEL_%d") % level
func mutate_score(plant_state : Plant.State, plant : Plant, score) -> int:
if plant.influence_zone == null:
return score
if plant_state != Plant.State.MATURE:
return score
var plant_count = 0
for area in plant.influence_zone.get_overlapping_areas():
if area is Plant and area != plant and area.plant_type.name == plant.plant_type.name:
plant_count += 1
if plant_count == 0:
return 0
else :
return score + level * plant_count

View File

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

View File

@@ -1,26 +0,0 @@
extends PlantMutation
class_name ErmitMutation
func get_icon() -> Texture:
return preload("res://common/icons/seedling-off.svg")
func get_base_rarity() -> int:
return 0
func get_mutation_name() -> String:
return tr("ERMIT")
func get_mutation_description() -> String:
return tr("ERMIT_EFFECT_TEXT_LEVEL_%d") % get_score_multiplier()
func get_score_multiplier():
return level + 1
func mutate_score(_plant_state : Plant.State, plant : Plant, score) -> int:
if plant.influence_zone == null:
return score
for area in plant.influence_zone.get_overlapping_areas():
if area is Plant and area != plant:
return 0
return score * get_score_multiplier()

View File

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

View File

@@ -13,5 +13,5 @@ func get_mutation_name() -> String:
func get_mutation_description() -> String:
return tr("PRECOCIOUS_EFFECT_TEXT_LEVEL_%d") % level
func mutate_score(plant_state : Plant.State, _plant : Plant, score) -> int:
return score + (0 if plant_state == Plant.State.MATURE else level)
func mutate_score(data : PlantData, score : int) -> int:
return score + (0 if data.get_state() == PlantData.State.MATURE else level)

View File

@@ -13,5 +13,5 @@ func get_mutation_name() -> String:
func get_mutation_description() -> String:
return tr("QUALITY_EFFECT_TEXT_LEVEL_%d") % level
func mutate_score(plant_state : Plant.State, _plant : Plant, score : int) -> int:
return score + (level if plant_state == Plant.State.MATURE else 0)
func mutate_score(data : PlantData, score : int) -> int:
return score + (level if data.get_state() == PlantData.State.MATURE else 0)

View File

@@ -13,5 +13,5 @@ func get_mutation_name() -> String:
func get_mutation_description() -> String:
return tr("QUICK_EFFECT_TEXT_LEVEL_%d") % level
func mutate_grow_time(_plant : Plant, grow_time : int) -> int:
func mutate_grow_time(_data : PlantData, grow_time : int) -> int:
return max(grow_time - level, 0)

View File

@@ -1,32 +0,0 @@
extends PlantMutation
class_name SociableMutation
const NEAR_PLANT_NEEDED = 2
func get_icon() -> Texture:
return preload("res://common/icons/seedling.svg")
func get_base_rarity() -> int:
return 0
func get_mutation_name() -> String:
return tr("SOCIABLE")
func get_mutation_description() -> String:
return tr("SOCIABLE_EFFECT_TEXT_LEVEL_%d") % [get_score_bonus(), NEAR_PLANT_NEEDED]
func get_score_bonus():
return (level + 2)
func mutate_score(plant_state : Plant.State, plant : Plant, score) -> int:
if plant.influence_zone == null:
return score
if plant_state != Plant.State.MATURE:
return score
var plant_count = 0
for area in plant.influence_zone.get_overlapping_areas():
if area is Plant and area != plant :
plant_count += 1
return score + (get_score_bonus() if plant_count >= NEAR_PLANT_NEEDED else 0)

View File

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

View File

@@ -1,20 +0,0 @@
extends PlantMutation
class_name StrongMutation
func get_icon() -> Texture:
return preload("res://common/icons/dna.svg")
func get_base_rarity() -> int:
return 0
func get_mutation_name() -> String:
return tr("STRONG")
func get_mutation_description() -> String:
return tr("STRONG_EFFECT_TEXT_LEVEL_%d") % [roundi(get_score_multiplier() * 100)]
func get_score_multiplier():
return float(level)/2
func mutate_score(_plant_state : Plant.State, _plant : Plant, score: int) -> int:
return score + roundi(score * get_score_multiplier())

View File

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