ajout des mutation et refonte de l'inspecteur

* ajout des mutations #86
* changement de l'objectif #85
* refonte de l'inspecteur #71
* changement léger de la plantation
* les plantes ne donnent que des graines de leurs espèces
* refonte partielle du code, refacto
This commit is contained in:
2025-10-12 01:03:08 +02:00
parent bb24efe46b
commit ef392595de
108 changed files with 1921 additions and 477 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 999 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://n7hhyqhhtx0q"
path="res://.godot/imported/compost.png-af443333eb9a31de9cc4cb40ab9c40c2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://entities/interactables/machines/compost/assets/sprites/compost.png"
dest_files=["res://.godot/imported/compost.png-af443333eb9a31de9cc4cb40ab9c40c2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@@ -1,96 +1,27 @@
[gd_scene load_steps=11 format=3 uid="uid://bkwh1ntvgkkrt"]
[ext_resource type="Script" uid="uid://bw2ckthka71y8" path="res://entities/interactables/machines/compost/scripts/energy_compost.gd" id="1_2s0lp"]
[ext_resource type="Texture2D" uid="uid://f2rte5jc0psp" path="res://entities/interactables/machines/compost/assets/sprites/compost.svg" id="2_pi0jt"]
[ext_resource type="Texture2D" uid="uid://n7hhyqhhtx0q" path="res://entities/interactables/machines/compost/assets/sprites/compost.png" id="2_pi0jt"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="3_85qj7"]
[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/ressources/fonts/spincycle_ot.otf" id="3_y0cke"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_akkx7"]
size = Vector2(66, 84)
[sub_resource type="CircleShape2D" id="CircleShape2D_6kmun"]
radius = 51.884487
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_etofw"]
bg_color = Color(0.260098, 0.11665, 0.0419712, 0.231373)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3ao1n"]
bg_color = Color(0.270222, 0.270222, 0.270222, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="LabelSettings" id="LabelSettings_m2a0h"]
font = ExtResource("3_y0cke")
font_size = 23
[sub_resource type="Animation" id="Animation_r6435"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0.291262, 0.291262)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
[sub_resource type="Animation" id="Animation_1758a"]
resource_name = "empty"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.5),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, 12.605), Vector2(0, -24.56), Vector2(0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite:scale")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.5),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(0.291262, 0.291262), Vector2(0.291, 0.191), Vector2(0.291, 0.366), Vector2(0.291262, 0.291262)]
}
[sub_resource type="Animation" id="Animation_etofw"]
resource_name = "fill"
length = 0.3
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:scale")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.3),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(0.291262, 0.291262), Vector2(0.291, 0.231), Vector2(0.291262, 0.291262)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_etofw"]
_data = {
@@ -103,29 +34,29 @@ _data = {
script = ExtResource("1_2s0lp")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_akkx7")
shape = SubResource("CircleShape2D_6kmun")
[node name="Sprite" type="Sprite2D" parent="."]
unique_name_in_owner = true
self_modulate = Color(0.729698, 0.588265, 0.105405, 1)
scale = Vector2(0.291262, 0.291262)
[node name="Compost" type="Sprite2D" parent="."]
position = Vector2(1.9073486e-06, 15.999998)
scale = Vector2(0.11194731, 0.11194731)
texture = ExtResource("2_pi0jt")
[node name="ProgressBar" type="ProgressBar" parent="Sprite"]
[node name="ContainerCount" type="Label" parent="."]
unique_name_in_owner = true
offset_left = -62.0
offset_top = -7.0
offset_right = 62.0
offset_bottom = 120.0
theme_override_styles/background = SubResource("StyleBoxFlat_etofw")
theme_override_styles/fill = SubResource("StyleBoxFlat_3ao1n")
fill_mode = 3
show_percentage = false
modulate = Color(0.140831, 0.20012599, 0.3145095, 1)
offset_left = 18.0
offset_top = 37.0
offset_right = 59.051178
offset_bottom = 61.0
rotation = -0.48016798
text = "3/5"
label_settings = SubResource("LabelSettings_m2a0h")
[node name="Bolt" type="Sprite2D" parent="Sprite"]
[node name="Bolt" type="Sprite2D" parent="."]
modulate = Color(0.140831, 0.20012599, 0.3145095, 1)
z_index = 1
position = Vector2(0, 54.9334)
scale = Vector2(2.00278, 2.00278)
position = Vector2(-41.999996, 36)
scale = Vector2(0.5833337, 0.5833337)
texture = ExtResource("3_85qj7")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]

View File

@@ -1,96 +1,27 @@
[gd_scene load_steps=11 format=3 uid="uid://b13debm055r3t"]
[ext_resource type="Script" uid="uid://d0yt8pd41j2os" path="res://entities/interactables/machines/compost/scripts/seed_compost.gd" id="1_b8mmk"]
[ext_resource type="Texture2D" uid="uid://f2rte5jc0psp" path="res://entities/interactables/machines/compost/assets/sprites/compost.svg" id="2_s8eov"]
[ext_resource type="Script" uid="uid://bw2ckthka71y8" path="res://entities/interactables/machines/compost/scripts/energy_compost.gd" id="1_s8eov"]
[ext_resource type="Texture2D" uid="uid://n7hhyqhhtx0q" path="res://entities/interactables/machines/compost/assets/sprites/compost.png" id="2_c0so3"]
[ext_resource type="Texture2D" uid="uid://b0wy3dbpxbnt7" path="res://common/icons/seedling.svg" id="3_s8eov"]
[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/ressources/fonts/spincycle_ot.otf" id="3_sw66v"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_akkx7"]
size = Vector2(66, 84)
[sub_resource type="CircleShape2D" id="CircleShape2D_6kmun"]
radius = 51.884487
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_etofw"]
bg_color = Color(0.260098, 0.11665, 0.0419712, 0.231373)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3ao1n"]
bg_color = Color(0.270222, 0.270222, 0.270222, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="LabelSettings" id="LabelSettings_m2a0h"]
font = ExtResource("3_sw66v")
font_size = 23
[sub_resource type="Animation" id="Animation_r6435"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0.291262, 0.291262)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
[sub_resource type="Animation" id="Animation_1758a"]
resource_name = "empty"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.5),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, 12.605), Vector2(0, -24.56), Vector2(0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite:scale")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.5),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(0.291262, 0.291262), Vector2(0.291, 0.191), Vector2(0.291, 0.366), Vector2(0.291262, 0.291262)]
}
[sub_resource type="Animation" id="Animation_etofw"]
resource_name = "fill"
length = 0.3
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite:scale")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.3),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(0.291262, 0.291262), Vector2(0.291, 0.231), Vector2(0.291262, 0.291262)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_etofw"]
_data = {
@@ -99,33 +30,33 @@ _data = {
&"fill": SubResource("Animation_etofw")
}
[node name="Compost" type="Area2D"]
script = ExtResource("1_b8mmk")
[node name="SeedCompost" type="Area2D"]
script = ExtResource("1_s8eov")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_akkx7")
shape = SubResource("CircleShape2D_6kmun")
[node name="Sprite" type="Sprite2D" parent="."]
[node name="Compost" type="Sprite2D" parent="."]
position = Vector2(1.9073486e-06, 15.999998)
scale = Vector2(0.11194731, 0.11194731)
texture = ExtResource("2_c0so3")
[node name="ContainerCount" type="Label" parent="."]
unique_name_in_owner = true
self_modulate = Color(0.90820795, 0.68268144, 0.2216644, 1)
scale = Vector2(0.291262, 0.291262)
texture = ExtResource("2_s8eov")
modulate = Color(0.140831, 0.20012599, 0.3145095, 1)
offset_left = 18.0
offset_top = 37.0
offset_right = 59.051178
offset_bottom = 61.0
rotation = -0.48016798
text = "3/5"
label_settings = SubResource("LabelSettings_m2a0h")
[node name="ProgressBar" type="ProgressBar" parent="Sprite"]
unique_name_in_owner = true
offset_left = -62.0
offset_top = -7.0
offset_right = 62.0
offset_bottom = 120.0
theme_override_styles/background = SubResource("StyleBoxFlat_etofw")
theme_override_styles/fill = SubResource("StyleBoxFlat_3ao1n")
fill_mode = 3
show_percentage = false
[node name="Bolt" type="Sprite2D" parent="Sprite"]
[node name="Bolt" type="Sprite2D" parent="."]
modulate = Color(0.140831, 0.20012599, 0.3145095, 1)
z_index = 1
position = Vector2(0, 54.9334)
scale = Vector2(2.00278, 2.00278)
position = Vector2(-41.999996, 36)
scale = Vector2(0.5833337, 0.5833337)
texture = ExtResource("3_s8eov")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]

View File

@@ -1,7 +1,10 @@
extends Machine
class_name Compost
var containing_seed : int = 0
@onready var containing_seed : int = 0 :
set(v):
containing_seed = v
%ContainerCount.text = str(containing_seed) + "/" + str(get_seed_needed())
func get_seed_needed(l : int = level) -> int:
match l:
@@ -10,12 +13,6 @@ func get_seed_needed(l : int = level) -> int:
3: return 3
_: return 2
func setup_machine_sprite():
%Sprite.self_modulate = Machine.get_level_color(level)
func _process(_delta):
%ProgressBar.value = lerp(%ProgressBar.value, float(containing_seed) / float(get_seed_needed()) * 100, 0.5)
func interact_text():
return "Put a seed ("+str(get_seed_needed() - containing_seed)+" left)"
@@ -35,6 +32,7 @@ func interact(p : Player) -> bool:
product(p)
else:
$AnimationPlayer.play("fill")
return true
func product(player : Player):