Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ dest_files=["res://.godot/imported/EternalLoomShort.ogg-ab8f9e3e604ea4b59b0bc347

[params]

loop=false
loop=true
loop_offset=0
bpm=0
beat_count=0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,15 @@ texture_region_size = Vector2i(64, 64)
texture = ExtResource("14_yxe0x")
texture_region_size = Vector2i(64, 64)
0:0/0 = 0
1:0/0 = 0
2:0/0 = 0

[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gewbp"]
texture = ExtResource("15_gvyts")
texture_region_size = Vector2i(64, 64)
0:0/0 = 0
1:0/0 = 0
2:0/0 = 0

[sub_resource type="TileSetScenesCollectionSource" id="TileSetScenesCollectionSource_bwjee"]
resource_name = "spools"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -646,6 +646,6 @@ debug_mode = true

[connection signal="body_entered" from="OnTheGround/CharacterBody2D/Area2D" to="OnTheGround/CharacterBody2D/Area2D" method="_on_body_entered"]
[connection signal="timeout" from="OnTheGround/CharacterBody2D2/Timer" to="OnTheGround/CharacterBody2D2/ThrowProjectileBehavior" method="throw"]
[connection signal="running_changed" from="OnTheGround/CharacterBody2D4/InputWalkBehavior" to="OnTheGround/CharacterBody2D4/GPUParticles2D" method="_on_input_walk_behavior_running_changed"]
[connection signal="running_changed" from="OnTheGround/CharacterBody2D4/InputWalkBehavior" to="OnTheGround/CharacterBody2D4/AnimationPlayer/CharacterAnimationPlayerBehavior" method="on_running_changed"]
[connection signal="running_changed" from="OnTheGround/CharacterBody2D4/InputWalkBehavior" to="OnTheGround/CharacterBody2D4/GPUParticles2D" method="_on_input_walk_behavior_running_changed"]
[connection signal="running_changed" from="OnTheGround/CharacterBody2D6/NavigationFollowWalkBehavior" to="OnTheGround/CharacterBody2D6/AnimatedSprite2D/CharacterSpriteBehavior" method="on_running_changed"]
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
size = Vector2(68, 20)

[sub_resource type="CircleShape2D" id="CircleShape2D_8l6e1"]
radius = 96.0
radius = 89.005615

[sub_resource type="Resource" id="Resource_2dnul"]
script = ExtResource("3_45we0")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
[sub_resource type="Gradient" id="Gradient_5j6h7"]
interpolation_mode = 2
interpolation_color_space = 2
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
offsets = PackedFloat32Array(0, 0.032738097, 1)
colors = PackedColorArray(1, 1, 1, 1, 0.7856058, 0.78560585, 0.78560567, 1, 0, 0, 0, 1)

[resource]
gradient = SubResource("Gradient_5j6h7")
Expand All @@ -13,3 +14,4 @@ fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0, 0.5)
metadata/_snap_enabled = true
metadata/_snap_count = 15
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,6 @@ unique_name_in_owner = true
time_scale = 1440.0
show_debug_label = true

[connection signal="interaction_started" from="OnTheGround/FabricRock/InteractAreaMorning" to="." method="_on_set_time" flags=18 unbinds=2 binds= [6.0]]
[connection signal="interaction_started" from="OnTheGround/FabricRock2/InteractAreaEvening" to="." method="_on_set_time" flags=18 unbinds=2 binds= [18.0]]
[connection signal="interaction_started" from="OnTheGround/FabricRock3/InteractAreaNight" to="." method="_on_set_time" flags=18 unbinds=2 binds= [22.0]]
[connection signal="interaction_started" from="OnTheGround/FabricRock/InteractAreaMorning" to="." method="_on_set_time" flags=18 unbinds=2 binds=[6.0]]
[connection signal="interaction_started" from="OnTheGround/FabricRock2/InteractAreaEvening" to="." method="_on_set_time" flags=18 unbinds=2 binds=[18.0]]
[connection signal="interaction_started" from="OnTheGround/FabricRock3/InteractAreaNight" to="." method="_on_set_time" flags=18 unbinds=2 binds=[22.0]]
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
[gd_resource type="SpriteFrames" format=3 uid="uid://c301x17j2mgnb"]

[ext_resource type="Texture2D" uid="uid://csk7me5fhad60" path="res://assets/first_party/wildlife/butterfly/butterfly_flower_loop_1_blue.png" id="1_v3dtu"]
[ext_resource type="Texture2D" uid="uid://cdgk5axv7f4lb" path="res://assets/first_party/wildlife/butterfly/butterfly_flower_loop_1_pink.png" id="1_a5j1n"]

[sub_resource type="AtlasTexture" id="AtlasTexture_cbbth"]
atlas = ExtResource("1_v3dtu")
[sub_resource type="AtlasTexture" id="AtlasTexture_eira1"]
atlas = ExtResource("1_a5j1n")
region = Rect2(0, 0, 128, 128)

[sub_resource type="AtlasTexture" id="AtlasTexture_c66t1"]
atlas = ExtResource("1_v3dtu")
[sub_resource type="AtlasTexture" id="AtlasTexture_a5j1n"]
atlas = ExtResource("1_a5j1n")
region = Rect2(128, 0, 128, 128)

[sub_resource type="AtlasTexture" id="AtlasTexture_8neng"]
atlas = ExtResource("1_v3dtu")
[sub_resource type="AtlasTexture" id="AtlasTexture_lxi6w"]
atlas = ExtResource("1_a5j1n")
region = Rect2(256, 0, 128, 128)

[sub_resource type="AtlasTexture" id="AtlasTexture_704a1"]
atlas = ExtResource("1_v3dtu")
[sub_resource type="AtlasTexture" id="AtlasTexture_v3dtu"]
atlas = ExtResource("1_a5j1n")
region = Rect2(384, 0, 128, 128)

[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_cbbth")
"texture": SubResource("AtlasTexture_eira1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c66t1")
"texture": SubResource("AtlasTexture_a5j1n")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8neng")
"texture": SubResource("AtlasTexture_lxi6w")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_704a1")
"texture": SubResource("AtlasTexture_v3dtu")
}],
"loop": 1,
"name": &"default",
Expand Down
3 changes: 3 additions & 0 deletions scenes/game_elements/props/door/noria-Sheet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 40 additions & 0 deletions scenes/game_elements/props/door/noria-Sheet.png.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
[remap]

importer="texture"
type="CompressedTexture2D"
uid="uid://b5tyybxc7trbg"
path="res://.godot/imported/noria-Sheet.png-256ba2e0f9e87ab6ad3e79c19a0f0f2c.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://scenes/game_elements/props/door/noria-Sheet.png"
dest_files=["res://.godot/imported/noria-Sheet.png-256ba2e0f9e87ab6ad3e79c19a0f0f2c.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
2 changes: 2 additions & 0 deletions scenes/globals/lore_info/lore_info.gd
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,6 @@ const ABILITIES_NAMES: Dictionary[Enums.PlayerAbilities, String] = {
Enums.PlayerAbilities.ABILITY_A: "Repel",
Enums.PlayerAbilities.ABILITY_B: "Grapple",
Enums.PlayerAbilities.ABILITY_B_MODIFIER_1: "Longer Thread",
# TODO: This should be moved to ABILITY_A_MODIFIER_1
Enums.PlayerAbilities.ABILITY_C: "Hum",
}
Original file line number Diff line number Diff line change
Expand Up @@ -253,5 +253,5 @@ position_smoothing_enabled = true
editor_draw_limits = true

[connection signal="cinematic_finished" from="Cinematic" to="FillGameLogic" method="start"]
[connection signal="goal_reached" from="FillGameLogic" to="FillGameLogic/LevelCompletedAnimation" method="play" binds= ["goal_completed"]]
[connection signal="goal_reached" from="FillGameLogic" to="FillGameLogic/LevelCompletedAnimation" method="play" binds=["goal_completed"]]
[connection signal="collected" from="OnTheGround/RepelPowerup" to="." method="_on_repel_powerup_collected"]
Original file line number Diff line number Diff line change
Expand Up @@ -173,4 +173,4 @@ position_smoothing_enabled = true
editor_draw_limits = true

[connection signal="cinematic_finished" from="Cinematic" to="FillGameLogic" method="start"]
[connection signal="goal_reached" from="FillGameLogic" to="FillGameLogic/LevelCompletedAnimation" method="play" binds= ["goal_completed"]]
[connection signal="goal_reached" from="FillGameLogic" to="FillGameLogic/LevelCompletedAnimation" method="play" binds=["goal_completed"]]
Original file line number Diff line number Diff line change
Expand Up @@ -228,4 +228,4 @@ position_smoothing_enabled = true
editor_draw_limits = true

[connection signal="goal_reached" from="FillGameLogic" to="BackgroundMusic/ClipSwitcher" method="switch"]
[connection signal="goal_reached" from="FillGameLogic" to="FillGameLogic/LevelCompletedAnimation" method="play" binds= ["goal_completed"]]
[connection signal="goal_reached" from="FillGameLogic" to="FillGameLogic/LevelCompletedAnimation" method="play" binds=["goal_completed"]]
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ metadata/_custom_type_script = "uid://0enyu5v4ra34"

[node name="HUD" parent="." unique_id=1590862536 instance=ExtResource("11_p44d7")]

[connection signal="player_teleported" from="SpawnPointFromPowerup" to="." method="_on_spawn_point_from_powerup_player_teleported"]
[connection signal="player_teleported" from="SpawnPointFromPowerup" to="BackgroundMusic/ClipSwitcher" method="switch"]
[connection signal="player_teleported" from="SpawnPointFromPowerup" to="." method="_on_spawn_point_from_powerup_player_teleported"]

[editable path="OnTheGround/VoidPatrolling"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# SPDX-FileCopyrightText: The Threadbare Authors
# SPDX-License-Identifier: MPL-2.0
~ start
LoreQuest Elder: [[Hi|Hello|Greetings]], {{player_name}}
LoreQuest Elder: I've been studying these menhirs for years.
LoreQuest Elder: They're alive, you know? Not like an animal.
LoreQuest Elder: Alive like a memory. If you hum nearby,
LoreQuest Elder: [wave amp=20 freq=3]they remember they exist[/wave]. For a moment.
=> END
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[remap]

importer="dialogue_manager"
importer_version=15
type="Resource"
uid="uid://dbsxehjjiflt0"
path="res://.godot/imported/ElderQuestMythical.dialogue-df55ff016d6be8ce6f426da7895b5ddc.tres"

[deps]

source_file="res://scenes/quests/lore_quests/quest_004/01_dream_threshold/ElderQuestMythical.dialogue"
dest_files=["res://.godot/imported/ElderQuestMythical.dialogue-df55ff016d6be8ce6f426da7895b5ddc.tres"]

[params]

defaults=true
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# SPDX-FileCopyrightText: The Threadbare Authors
# SPDX-License-Identifier: MPL-2.0
~ start
StoryQuest Elder: [[Hi|Hello|Greetings]], {{player_name}}
StoryQuest Elder: The Humming, yes. Technically it's not magic. It's more of... [wave amp=20 freq=3]a reminder[/wave].
StoryQuest Elder: The stones know what they have to do. They just need someone to remind them to do it.
StoryQuest Elder: Like all of us,
StoryQuest Elder: I guess.
=> END
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[remap]

importer="dialogue_manager"
importer_version=15
type="Resource"
uid="uid://bf4k2jh6rg7ev"
path="res://.godot/imported/QuestElderMythical.dialogue-109c49581fc30ba08bb645800911fc79.tres"

[deps]

source_file="res://scenes/quests/lore_quests/quest_004/01_dream_threshold/QuestElderMythical.dialogue"
dest_files=["res://.godot/imported/QuestElderMythical.dialogue-109c49581fc30ba08bb645800911fc79.tres"]

[params]

defaults=true
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# SPDX-FileCopyrightText: The Threadbare Authors
# SPDX-License-Identifier: MPL-2.0
extends CanvasLayer
## Libro de historia: pantalla en NEGRO, se abre un libro que cuenta la historia
## página a página, y al terminar (o saltar con Esc) se desvanece y devuelve el
## control. Pausa el juego mientras se muestra.
##
## Sirve para el INTRO (auto_start = true: se abre al cargar la escena) y para el
## FINAL (auto_start = false: queda oculto hasta que algo llame [method start_book],
## p. ej. un Area2D conectada a [method on_player_entered]).

## Títulos (página izquierda del libro). Uno por entrada de [member pages].
## Si falta el título de una página, la página izquierda queda en blanco.
@export var titles: PackedStringArray = []
## Cuerpo de cada página (página derecha del libro). Se permite BBCode ([i], etc.).
@export var pages: PackedStringArray = []
## Duración de los fundidos de apertura/cierre (s).
@export var fade_time: float = 0.7
## Si está activo, el libro se abre solo al cargar la escena (modo intro).
## Si no, queda oculto hasta llamar start_book() (modo final por trigger).
@export var auto_start: bool = true
## (Opcional, modo no-auto) Área que, al entrar el jugador, abre el libro.
@export var trigger_area: Area2D

@onready var black: ColorRect = $Black
@onready var book: Control = $Book
@onready var left_title: Label = $Book/LeftTitle
@onready var right_body: RichTextLabel = $Book/RightBody
@onready var hint: Label = $Hint

var _index: int = 0
var _busy: bool = true
var _started: bool = false


func _ready() -> void:
process_mode = Node.PROCESS_MODE_ALWAYS
if auto_start:
start_book()
else:
visible = false
if is_instance_valid(trigger_area):
trigger_area.body_entered.connect(on_player_entered)


## Abre el libro: pausa, muestra la primera página y lo desvanece hacia adentro.
func start_book() -> void:
if _started:
return
_started = true
visible = true
get_tree().paused = true
book.modulate.a = 0.0
book.scale = Vector2(0.86, 0.86)
if pages.is_empty():
_finish()
return
_show_page(0)
var t := create_tween().set_parallel(true)
t.tween_property(book, "modulate:a", 1.0, fade_time)
(
t
. tween_property(book, "scale", Vector2.ONE, fade_time)
. set_trans(Tween.TRANS_BACK)
. set_ease(Tween.EASE_OUT)
)
t.chain().tween_callback(_unlock)


## Conéctalo al body_entered de un Area2D para abrir el libro al pasar el jugador.
func on_player_entered(body: Node2D) -> void:
if not _started and body.is_in_group(&"player"):
start_book()


func _unlock() -> void:
_busy = false


func _show_page(i: int) -> void:
_index = i
left_title.text = titles[i] if i < titles.size() else ""
right_body.text = pages[i]
if i < pages.size() - 1:
hint.text = "▶ clic / Enter · Esc para saltar"
else:
hint.text = "▶ clic / Enter para terminar"


func _unhandled_input(event: InputEvent) -> void:
if _busy or not _started:
return
if event.is_action_pressed(&"ui_cancel"):
_finish()
get_viewport().set_input_as_handled()
return
var advance := (
event.is_action_pressed(&"ui_accept")
or event.is_action_pressed(&"interact")
or (
event is InputEventMouseButton
and (event as InputEventMouseButton).pressed
and (event as InputEventMouseButton).button_index == MOUSE_BUTTON_LEFT
)
)
if advance:
_next()
get_viewport().set_input_as_handled()


func _next() -> void:
if _index >= pages.size() - 1:
_finish()
return
_busy = true
var t := create_tween().set_parallel(true)
t.tween_property(left_title, "modulate:a", 0.0, 0.12)
t.tween_property(right_body, "modulate:a", 0.0, 0.12)
t.chain().tween_callback(_advance_page)
t.tween_property(left_title, "modulate:a", 1.0, 0.14)
t.tween_property(right_body, "modulate:a", 1.0, 0.14)
t.chain().tween_callback(_unlock)


func _advance_page() -> void:
_show_page(_index + 1)


func _finish() -> void:
_busy = true
var t := create_tween().set_parallel(true)
t.tween_property(book, "modulate:a", 0.0, fade_time)
t.tween_property(black, "color:a", 0.0, fade_time)
t.chain().tween_callback(_end)


func _end() -> void:
get_tree().paused = false
queue_free()
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://b8h45uimhuhl2
Loading
Loading