Dev pour la béta 1

* ajout des artefacts avec la pile et l'emplacement de graine
* affichage des artefacts dans le vaisseau sur une étagère
* ajout des distributeurs d'artefacts dans les régions
* affichage des attributs de bases de plantes dans le vaisseau
* changement de l'affichage du choix des régions
* changement des icônes du détecteur
This commit is contained in:
2026-04-10 16:16:54 +02:00
parent 84a2eafe57
commit 8062c42e7b
154 changed files with 2780 additions and 1772 deletions

View File

@@ -1,19 +0,0 @@
[gd_resource type="Resource" script_class="AncientMutation" format=3 uid="uid://dys1ehlg4kwh7"]
[ext_resource type="Script" uid="uid://c7po0bstyg80u" path="res://entities/plants/scripts/plant_mutation/ancient_mutation.gd" id="1_5g2qg"]
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_yqbjv"]
[ext_resource type="Resource" uid="uid://wxqxm6d5twdh" path="res://entities/plants/resources/plant_parts/Leaf8.tres" id="2_s2bpe"]
[ext_resource type="Resource" uid="uid://uoikjpno37bi" path="res://entities/plants/resources/plant_parts/Leaf9.tres" id="3_wfusp"]
[ext_resource type="Resource" uid="uid://c5gqwck2p5h5n" path="res://entities/plants/resources/plant_parts/Leaf10.tres" id="4_60d0x"]
[ext_resource type="Resource" uid="uid://c5fj1cw0f4mu6" path="res://entities/plants/resources/plant_parts/Leaf11.tres" id="5_ooo8j"]
[ext_resource type="Resource" uid="uid://dce788f0adauv" path="res://entities/plants/resources/plant_parts/Leaf12.tres" id="6_d0tr0"]
[ext_resource type="Resource" uid="uid://dd34dikqoynp3" path="res://entities/plants/resources/plant_parts/Leaf13.tres" id="7_jsy7o"]
[ext_resource type="Resource" uid="uid://bynje6g2wvuvl" path="res://entities/plants/resources/plant_parts/Leaf14.tres" id="8_m31fx"]
[ext_resource type="Resource" uid="uid://bd2op6q1masjt" path="res://entities/plants/resources/plant_parts/Leaf15.tres" id="9_78ar7"]
[ext_resource type="Resource" uid="uid://bvajuw0r47edw" path="res://entities/plants/resources/plant_parts/Leaf16.tres" id="10_dq1wt"]
[resource]
script = ExtResource("1_5g2qg")
possible_parts = Array[ExtResource("1_yqbjv")]([ExtResource("2_s2bpe"), ExtResource("3_wfusp"), ExtResource("4_60d0x"), ExtResource("5_ooo8j"), ExtResource("6_d0tr0"), ExtResource("7_jsy7o"), ExtResource("8_m31fx"), ExtResource("9_78ar7"), ExtResource("10_dq1wt")])
part_amount = 3
metadata/_custom_type_script = "uid://c7po0bstyg80u"

View File

@@ -1,6 +0,0 @@
[gd_resource type="Resource" script_class="ElitistMutation" load_steps=2 format=3 uid="uid://d38alhstybdtf"]
[ext_resource type="Script" uid="uid://bt1xh7ss13e5e" path="res://entities/plants/scripts/plant_mutation/elitist_mutation.gd" id="1_jevqj"]
[resource]
script = ExtResource("1_jevqj")

View File

@@ -1,6 +0,0 @@
[gd_resource type="Resource" script_class="ErmitMutation" load_steps=2 format=3 uid="uid://dktlbpira5kxb"]
[ext_resource type="Script" uid="uid://domy822vgxfxs" path="res://entities/plants/scripts/plant_mutation/ermit_mutation.gd" id="1_yqhf5"]
[resource]
script = ExtResource("1_yqhf5")

View File

@@ -1,7 +0,0 @@
[gd_resource type="Resource" script_class="PrecociousMutation" format=3 uid="uid://c3am7s5bjy8qk"]
[ext_resource type="Script" uid="uid://cx5mg5vf62bia" path="res://entities/plants/scripts/plant_mutation/precocious_mutation.gd" id="1_wjcm0"]
[resource]
script = ExtResource("1_wjcm0")
metadata/_custom_type_script = "uid://cx5mg5vf62bia"

View File

@@ -1,14 +0,0 @@
[gd_resource type="Resource" script_class="QualityMutation" format=3 uid="uid://uabbkvg1rciq"]
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_f2p7y"]
[ext_resource type="Script" uid="uid://bdobyk2j625lb" path="res://entities/plants/scripts/plant_mutation/quality_mutation.gd" id="1_u0ku1"]
[ext_resource type="Resource" uid="uid://crmvc77bqax1y" path="res://entities/plants/resources/plant_parts/Flower1.tres" id="2_1b5fn"]
[ext_resource type="Resource" uid="uid://c0hr7icfkjkoi" path="res://entities/plants/resources/plant_parts/Flower2.tres" id="3_k2uo3"]
[ext_resource type="Resource" uid="uid://clkoc1iccts2w" path="res://entities/plants/resources/plant_parts/Flower3.tres" id="4_ywc6r"]
[ext_resource type="Resource" uid="uid://bd8yapi1pokj6" path="res://entities/plants/resources/plant_parts/Flower4.tres" id="5_fnfed"]
[resource]
script = ExtResource("1_u0ku1")
possible_parts = Array[ExtResource("1_f2p7y")]([ExtResource("2_1b5fn"), ExtResource("3_k2uo3"), ExtResource("4_ywc6r"), ExtResource("5_fnfed")])
part_amount = 2
metadata/_custom_type_script = "uid://bdobyk2j625lb"

View File

@@ -1,19 +0,0 @@
[gd_resource type="Resource" script_class="QuickMutation" format=3 uid="uid://b04gaipu237sx"]
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="1_68ssf"]
[ext_resource type="Script" uid="uid://bhtq0cbrgu58v" path="res://entities/plants/scripts/plant_mutation/quick_mutation.gd" id="1_hr7tm"]
[ext_resource type="Resource" uid="uid://brmd6d3l8trqs" path="res://entities/plants/resources/plant_parts/BottomLeaf1.tres" id="2_37ogi"]
[ext_resource type="Resource" uid="uid://cfr33014u7ig5" path="res://entities/plants/resources/plant_parts/BottomLeaf2.tres" id="3_4wjrs"]
[ext_resource type="Resource" uid="uid://cf70m1us8mfqp" path="res://entities/plants/resources/plant_parts/BottomLeaf3.tres" id="4_w4xgf"]
[ext_resource type="Resource" uid="uid://ctlmah4ohqp25" path="res://entities/plants/resources/plant_parts/BottomLeaf4.tres" id="5_7gtu2"]
[ext_resource type="Resource" uid="uid://b8o4q0hsm84ov" path="res://entities/plants/resources/plant_parts/BottomLeaf5.tres" id="6_yoj6x"]
[ext_resource type="Resource" uid="uid://bb33v756anesy" path="res://entities/plants/resources/plant_parts/BottomLeaf6.tres" id="7_fuf4y"]
[ext_resource type="Resource" uid="uid://cbqrl72y0d1yg" path="res://entities/plants/resources/plant_parts/BottomLeaf7.tres" id="8_25vee"]
[ext_resource type="Resource" uid="uid://dwppani7gyjl5" path="res://entities/plants/resources/plant_parts/BottomLeaf8.tres" id="9_hqe0q"]
[ext_resource type="Resource" uid="uid://dkta1u1u0efxk" path="res://entities/plants/resources/plant_parts/BottomLeaf9.tres" id="10_mxd37"]
[resource]
script = ExtResource("1_hr7tm")
possible_parts = Array[ExtResource("1_68ssf")]([ExtResource("2_37ogi"), ExtResource("3_4wjrs"), ExtResource("4_w4xgf"), ExtResource("5_7gtu2"), ExtResource("6_yoj6x"), ExtResource("7_fuf4y"), ExtResource("8_25vee"), ExtResource("9_hqe0q"), ExtResource("10_mxd37")])
part_amount = 2
metadata/_custom_type_script = "uid://bhtq0cbrgu58v"

View File

@@ -1,7 +0,0 @@
[gd_resource type="Resource" script_class="SociableMutation" load_steps=2 format=3 uid="uid://bpkvdvael2ojh"]
[ext_resource type="Script" uid="uid://b8q5xgvy85qeb" path="res://entities/plants/scripts/plant_mutation/sociable_mutation.gd" id="1_7u0mw"]
[resource]
script = ExtResource("1_7u0mw")
metadata/_custom_type_script = "uid://b8q5xgvy85qeb"

View File

@@ -1,7 +0,0 @@
[gd_resource type="Resource" script_class="StrongMutation" load_steps=2 format=3 uid="uid://co2r0jnkf8hyb"]
[ext_resource type="Script" uid="uid://cwj3k4p6ci5t4" path="res://entities/plants/scripts/plant_mutation/strong_mutation.gd" id="1_c0ieg"]
[resource]
script = ExtResource("1_c0ieg")
metadata/_custom_type_script = "uid://cwj3k4p6ci5t4"

View File

@@ -179,7 +179,7 @@ func save() -> EntityData:
func card_info() -> CardInfo:
var info = CardInfo.new(
data.plant_name,
tr("MATURE") if data.is_mature() else tr("JUVENILE")# data.archetype.archetype_name
tr("MATURE") if data.is_mature() else tr("JUVENILE")
)
info.important_stat_icon = SCORE_ICON

View File

@@ -1,35 +0,0 @@
extends Resource
class_name PlantArchetype
@export var archetype_name := Random.generate_random_word()
@export var plant_area_radius = 20
@export var plant_influence_radius = 100
@export var growing_time = 2
@export var lifetime = 6
@export var base_score = 1
@export var seed_number = 2
@export var seed_random_loose = 1
@export var available_mutations: Array[PlantMutation] = [
AncientMutation.new(),
EphemeralMutation.new(),
FertileMutation.new(),
GenerousMutation.new(),
HurriedMutation.new(),
PrecociousMutation.new(),
ProlificMutation.new(),
ProtectiveMutation.new(),
PureMutation.new(),
PurificationMutation.new(),
QualityMutation.new(),
QuickMutation.new(),
RobustMutation.new(),
SocialMutation.new(),
ToughMutation.new(),
VivaciousMutation.new(),
]
static func get_all() -> Array[PlantArchetype]:
return [PlantArchetype.new()]
static func get_random() -> PlantArchetype:
return get_all().pick_random()

View File

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

View File

@@ -7,7 +7,6 @@ signal nearby_plant_updated()
enum State {PLANTED, GROWING, MATURE, DEAD}
@export var archetype: PlantArchetype
@export var plant_name: String
@export var mutations: Array[PlantMutation]
@export var day: int:
@@ -16,24 +15,17 @@ enum State {PLANTED, GROWING, MATURE, DEAD}
updated.emit(self )
@export var random_seed: int
@export var leafs = 0 # +1 score
@export var roots = 0 # +1 lifetime
# var texture_builder: TextureBuilder = preload("res://entities/plants/scripts/texture_builder/texture_builder.tres")
var decontamination_area_factor = 0.
var nearby_plants : Array[PlantData]
func _init(
_position: Vector2 = Vector2.ZERO,
_archetype: PlantArchetype = PlantArchetype.get_random(),
_plant_name: String = Random.generate_random_word(),
_mutations: Array[PlantMutation] = [],
_day: int = 0,
_random_seed = randi()
):
position = _position
archetype = _archetype
plant_name = _plant_name
mutations = _mutations
day = _day
@@ -45,11 +37,13 @@ func _init(
static func generate_from_seed(plant_seed: Seed, plant_position: Vector2) -> PlantData:
return PlantData.new(
plant_position,
plant_seed.plant_archetype,
plant_seed.plant_name,
plant_seed.plant_mutations
)
func get_plant_info() -> RunDataPlantInfo:
return GameInfo.game_data.current_run.plant_info
func load_entity() -> Entity:
var plant = Plant.new(
self
@@ -57,7 +51,7 @@ func load_entity() -> Entity:
return plant
func get_lifetime() -> int:
var lifetime = archetype.lifetime + roots
var lifetime = get_plant_info().get_lifetime()
for m in mutations:
lifetime = m.mutate_lifetime(self , lifetime)
@@ -68,7 +62,7 @@ func get_lifetime() -> int:
return lifetime
func get_growing_time() -> int:
var growing_time = archetype.growing_time
var growing_time = get_plant_info().get_growing_time()
for m in mutations:
growing_time = m.mutate_growing_time(self , growing_time)
@@ -76,7 +70,7 @@ func get_growing_time() -> int:
return growing_time
func get_score(state: State = get_state()) -> int:
var score = archetype.base_score + leafs if state == State.MATURE else 0
var score = get_plant_info().get_base_score() if state == State.MATURE else 0
var mult := 1
@@ -102,7 +96,7 @@ func is_mature() -> bool:
return get_state() == State.MATURE
func get_seed_number(state = get_state()):
var seed_number = archetype.seed_number if (state == State.MATURE or state == State.DEAD) else 0
var seed_number = get_plant_info().get_seed_number() if (state == State.MATURE or state == State.DEAD) else 0
for m in mutations:
seed_number = m.mutate_seed_number(self , seed_number)
@@ -113,7 +107,7 @@ func get_seed_number(state = get_state()):
return seed_number
func get_seed_random_loose():
var seed_random_loose = archetype.seed_random_loose
var seed_random_loose = get_plant_info().get_seed_random_loose()
for m in mutations:
seed_random_loose = m.mutate_seed_random_loose(self , seed_random_loose)

View File

@@ -49,7 +49,7 @@ func generate_plants():
elif plant_state == PlantData.State.DEAD:
plant_data.day = plant_data.get_lifetime()
for j in n_mutation_per_plant:
plant_data.mutations.append(plant_data.archetype.available_mutations.pick_random())
plant_data.mutations.append(GameInfo.game_data.progression_data.available_mutations.pick_random())
var plant: Plant = Plant.new(plant_data)
print(plant.data.plant_name)
%Plants.add_child(plant)