* Structure de l'histoire principale
* Line sur le perso principal
* Agrandissement de la zone de détection des cellules
* Ajout du spray de Talion (+1 points de plante de base)
* Ajout de feedback sur l'usage des cellules d'énergie
This commit is contained in:
2026-07-06 23:05:39 +02:00
parent d0446e8826
commit 22b753c6a9
78 changed files with 1464 additions and 208 deletions

View File

@@ -0,0 +1,252 @@
[gd_scene format=3 uid="uid://cypsoytvytdup"]
[ext_resource type="PackedScene" uid="uid://cah00gew65ire" path="res://entities/interactable_3d/3d_door/assets/3d/door.blend" id="1_7a6nb"]
[ext_resource type="Script" uid="uid://u6dj6ud4mvk7" path="res://entities/interactable_3d/3d_door/scripts/3d_door.gd" id="1_08fm6"]
[ext_resource type="PackedScene" uid="uid://cc7uo5xqcplu8" path="res://entities/interactable_3d/3d_door/assets/3d/door_closed.blend" id="2_xjn0l"]
[ext_resource type="Texture2D" uid="uid://1ynlp05wj0hm" path="res://common/icons/rocket.svg" id="5_3uc8q"]
[sub_resource type="Animation" id="Animation_08fm6"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("door:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("door_closed:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Icon:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Icon2:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Icon:scale")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(1.5, 1.5, 1.5)]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Icon2:scale")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(1.5, 1.5, 1.5)]
}
[sub_resource type="Animation" id="Animation_3uc8q"]
resource_name = "activated"
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("door:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("door_closed:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Icon:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Icon2:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="Animation" id="Animation_7o3sc"]
resource_name = "deactivated"
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("door:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("door_closed:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Icon2:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Icon:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_p35e2"]
resource_name = "hover"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Icon:scale")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.46666667, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(1.5, 1.5, 1.5), Vector3(2, 2, 2), Vector3(1.5, 1.5, 1.5)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Icon2:scale")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.46666667, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(1.5, 1.5, 1.5), Vector3(2, 2, 2), Vector3(1.5, 1.5, 1.5)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_p35e2"]
_data = {
&"RESET": SubResource("Animation_08fm6"),
&"activated": SubResource("Animation_3uc8q"),
&"deactivated": SubResource("Animation_7o3sc"),
&"hover": SubResource("Animation_p35e2")
}
[sub_resource type="BoxShape3D" id="BoxShape3D_g4v7s"]
size = Vector3(1, 5.1875, 5.140625)
[node name="3dDoor" type="Area3D" unique_id=814731756 node_paths=PackedStringArray("hover_animation_player")]
script = ExtResource("1_08fm6")
interactable = false
hover_animation_player = NodePath("AnimationPlayer")
[node name="door" parent="." unique_id=48771245 instance=ExtResource("1_7a6nb")]
[node name="door_closed" parent="." unique_id=366011214 instance=ExtResource("2_xjn0l")]
visible = false
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=545958515]
libraries/ = SubResource("AnimationLibrary_p35e2")
[node name="Icon" type="Sprite3D" parent="." unique_id=368585741]
unique_name_in_owner = true
transform = Transform3D(-6.556708e-08, 0, -1.5, 0, 1.5, 0, 1.5, 0, -6.556708e-08, 0.1830883, -0.8157884, 0.62879825)
texture = ExtResource("5_3uc8q")
[node name="Icon2" type="Sprite3D" parent="." unique_id=286944398]
unique_name_in_owner = true
transform = Transform3D(-6.556708e-08, 0, -1.5, 0, 1.5, 0, 1.5, 0, -6.556708e-08, -0.15410006, -0.8157884, 0.62879825)
flip_h = true
texture = ExtResource("5_3uc8q")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1859296170]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0390625, -0.03125)
shape = SubResource("BoxShape3D_g4v7s")

Binary file not shown.

View File

@@ -0,0 +1,71 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cah00gew65ire"
path="res://.godot/imported/door.blend-eece18402c8800106d851ddc37f797c8.scn"
[deps]
source_file="res://entities/interactable_3d/3d_door/assets/3d/door.blend"
dest_files=["res://.godot/imported/door.blend-eece18402c8800106d851ddc37f797c8.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
mesh_library/use_node_names_as_mesh_names=false
array_mesh/deduplicate_surfaces=true
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Default3D": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
}
}
}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/vertex_colors=2
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/gpu_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true
gltf/naming_version=2
gltf/texture_map_mode=0

Binary file not shown.

View File

@@ -0,0 +1,71 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cc7uo5xqcplu8"
path="res://.godot/imported/door_closed.blend-507164d9450864a513b7fc7bb246c74c.scn"
[deps]
source_file="res://entities/interactable_3d/3d_door/assets/3d/door_closed.blend"
dest_files=["res://.godot/imported/door_closed.blend-507164d9450864a513b7fc7bb246c74c.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
mesh_library/use_node_names_as_mesh_names=false
array_mesh/deduplicate_surfaces=true
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Default3D": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
}
}
}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/vertex_colors=1
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/gpu_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true
gltf/naming_version=2
gltf/texture_map_mode=1

View File

@@ -0,0 +1,21 @@
@tool
extends Interactable3D
class_name Door3d
@export var to_scene : Scene : set = set_to_scene
func _ready():
set_to_scene()
interactable = interactable
func set_to_scene(v : Scene = to_scene):
to_scene = v
if is_node_ready() and to_scene:
%Icon.texture = to_scene.get_scene_icon()
%Icon2.texture = to_scene.get_scene_icon()
func click():
if interactable:
clicked.emit()
if to_scene:
SceneManager.change_to_scene(to_scene)

View File

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