This commit is contained in:
E250429F
2026-09-17 23:19:43 +02:00
parent 025a866eef
commit 3e857fa9f3
281 changed files with 38006 additions and 970 deletions
+8 -1
View File
@@ -1,8 +1,15 @@
extends MultiMeshInstance3D
@onready var anim_player: AnimationPlayer = $"../AnimationPlayer"
func _ready() -> void:
anim_player.play("will_turning", -1, .5)
var characters_seating:Array = get_tree().get_nodes_in_group("char_seat")
for char in characters_seating:
char.get_node("AnimationPlayer").play("mixamo_com")
char.get_node("AnimationPlayer").play("talk_seating")
var mesh = char.get_node("Root").get_node("Skeleton3D").get_node("characterMedium")
mesh.set_instance_shader_parameter("skin_index", randi_range(1, 16))
await get_tree().create_timer( randf_range(0.1, 1.5) ).timeout
+30 -8
View File
@@ -3,22 +3,27 @@ extends CharacterBody3D
@onready var sprite_label: Sprite3D = $Sprite3D
@onready var label: Label = $Sprite3D/SubViewport/Label
@onready var area_3d: Area3D = $Area3D
@onready var collision_shape_3d: CollisionShape3D = $Area3D/CollisionShape3D
@onready var anim_player: AnimationPlayer = $character/AnimationPlayer
@onready var camera_zoom: Camera3D = $CameraZoom
@onready var player: CharacterBody3D = $"../../Player"
@onready var frog: CharacterBody3D = $"../../frog"
@onready var area_3d_zoom: Area3D = $Area3DZoom
@onready var indicateur_tarte: CSGTorus3D = $"../indicateur_tarte"
@onready var client_spawner: Node3D = $"../client_spawner"
@onready var fox: CharacterBody3D = $"../../Animals/Foxes/fox"
@onready var fox_2: CharacterBody3D = $"../../Animals/Foxes/fox2"
var zoom_active : bool = false
func zoom_dialog():
label.text = Sauvegarde.get_text("coco" + str( 0 ) )
camera_zoom.make_current()
zoom_active = true
anim_player.play("RootAction")
anim_player.play("talking")
func _process(delta: float) -> void:
if zoom_active:
@@ -29,22 +34,31 @@ func _process(delta: float) -> void:
player.camera.make_current()
player.can_play = true
anim_player.stop()
anim_player.play("Idling")
func dialog():
rotation.y = deg_to_rad( 180 )
anim_player.play("RootAction")
if !player.is_client_game_launched:
rotation.y = deg_to_rad( 180 )
anim_player.play("talking")
for i in range(1,3):
var p
if player.is_client_game_launched:
p = range(4, 8)
else:
p = range(1, 4)
for i in p:
label.text = Sauvegarde.get_text("coco" + str( i ) )
await get_tree().create_timer( 1 ).timeout
await get_tree().create_timer( 6 ).timeout
anim_player.play("Idling")
rotation.y = deg_to_rad( -90 )
if !player.is_client_game_launched:
rotation.y = deg_to_rad( -90 )
anim_player.stop()
sprite_label.visible = false
player.set_dialog_mode()
player.is_client_game_launched = true
indicateur_tarte.visible = true
client_spawner.start_timer()
@@ -57,7 +71,7 @@ func _on_area_3d_body_entered(body: Node3D) -> void:
sprite_label.visible = true
player.set_dialog_mode( global_position, 0)
dialog()
area_3d.queue_free()
collision_shape_3d.disabled = true
func _on_area_3d_zoom_body_entered(body: Node3D) -> void:
@@ -65,3 +79,11 @@ func _on_area_3d_zoom_body_entered(body: Node3D) -> void:
player.can_play = false
area_3d_zoom.queue_free()
zoom_dialog()
func reactivate_area3D():
collision_shape_3d.disabled = false
anim_player.stop()
fox.flee_enabled = true
fox_2.flee_enabled = true
player.can_run = true
+32
View File
@@ -0,0 +1,32 @@
#@tool
#extends EditorScript
#
#func _run():
#var paths = [
#"res://assets/img/textures/faces/face_bis1.png",
#"res://assets/img/textures/faces/face_bis2.png",
#"res://assets/img/textures/faces/face_bis3.png",
#"res://assets/img/textures/faces/face_bis4.png",
#"res://assets/img/textures/faces/face_bis5.png",
#"res://assets/img/textures/faces/face_bis6.png",
#"res://assets/img/textures/faces/face_bis7.png",
#"res://assets/img/textures/faces/face_bis8.png",
#"res://assets/img/textures/faces/face_bis9.png",
#"res://assets/img/textures/faces/face_bis10.png",
#"res://assets/img/textures/faces/face_bis11.png",
#"res://assets/img/textures/faces/face_bis12.png",
#"res://assets/img/textures/faces/face_bis13.png",
#"res://assets/img/textures/faces/face_bis14.png",
#"res://assets/img/textures/faces/face_bis15.png",
#"res://assets/img/textures/faces/face_bis16.png",
#]
#var images: Array[Image] = []
#for p in paths:
#print("p: ", p)
#images.append(load(p).get_image())
#
#var tex_array = Texture2DArray.new()
#tex_array.create_from_images(images)
#
#ResourceSaver.save(tex_array, "res://assets/img/textures/faces.tres")
#print("Saved skin_array.tres with ", images.size(), " layers")
+1
View File
@@ -0,0 +1 @@
uid://cy6xfc3foi1oy
+4 -3
View File
@@ -11,12 +11,13 @@ var player
func _ready() -> void:
doggo_anim_player.play("sleep")
anim_player.play("Idling")
func dialog():
anim_player.play("RootAction")
anim_player.play("talking")
for i in range(1, 7):
label.text = Sauvegarde.get_text("neige" + str( i ) )
await get_tree().create_timer( 7 ).timeout
await get_tree().create_timer( 5 ).timeout
anim_player.stop()
sprite_label.visible = false
@@ -27,7 +28,7 @@ func _on_area_3d_body_entered(body: Node3D) -> void:
if body.is_in_group("player"):
player = body
sprite_label.visible = true
player.set_dialog_mode( global_position, 0)
player.set_dialog_mode( global_position)
dialog()
area_3d.queue_free()
+44
View File
@@ -0,0 +1,44 @@
@tool
extends EditorScript
# Path to your new NPC scene
const NEW_NPC_SCENE := preload("res://scenes/character_seat_talking.tscn")
func _run():
var root := get_scene()
if root == null:
push_error("Open the scene in the editor before running this script.")
return
var seating := root.find_child("characters-seating", true, false)
if seating == null:
push_error("Could not find 'characters-seating' node.")
return
var replaced := 0
for grp in seating.get_children():
# Snapshot the children first, since we'll be modifying the group as we go
var old_npcs := grp.get_children()
for old_npc in old_npcs:
if not (old_npc is Node3D):
push_warning(old_npc.name + " in " + grp.name + " is not a Node3D, skipping.")
continue
var old_transform: Transform3D = old_npc.transform
var old_name := old_npc.name
var new_npc: Node3D = NEW_NPC_SCENE.instantiate()
grp.remove_child(old_npc)
old_npc.queue_free()
grp.add_child(new_npc)
new_npc.owner = root
new_npc.transform = old_transform
new_npc.name = old_name
replaced += 1
print("Replaced ", replaced, " NPC(s).")
+1
View File
@@ -0,0 +1 @@
uid://btaqj1ucp5j8n