Add wardrobe memory encounters and combat area backgrounds

- Implemented MemoryPiece collectible system
- Added support for unique memory fragment textures
- Continued wardrobe encounter workflow design
- Planned memory collection and return-to-graveyard progression
- Created Wardrobe 1 (Hide) combat background
- Created Wardrobe 2 (Hurry) combat background
- Created Wardrobe 3 (Silence) combat background
- Created Wardrobe 4 (Isolation) combat background
- Created Wardrobe 5 (Responsibility) combat background
- Added environmental storytelling text and thematic scene concepts
- Continued graveyard level layout and wardrobe encounter planning
This commit is contained in:
doctorbatmanwho-creator 2026-06-14 22:07:32 -04:00
parent 889d95f571
commit 89c109b26f
16 changed files with 392 additions and 26 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b2vsf70jov55u"
path="res://.godot/imported/Memory1.png-ecd451d6c1a57bec3eae4d67ea2dc8ce.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Background/Memories/Memory1.png"
dest_files=["res://.godot/imported/Memory1.png-ecd451d6c1a57bec3eae4d67ea2dc8ce.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b0g2yq4wolooy"
path="res://.godot/imported/Memory2.png-902047e7f43404d1b1cdc216a5016e0c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Background/Memories/Memory2.png"
dest_files=["res://.godot/imported/Memory2.png-902047e7f43404d1b1cdc216a5016e0c.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bkfxc66elss34"
path="res://.godot/imported/Memory3.png-48e7f73c9305abb8c2c2a087a7631b52.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Background/Memories/Memory3.png"
dest_files=["res://.godot/imported/Memory3.png-48e7f73c9305abb8c2c2a087a7631b52.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cwlxblkouwtxr"
path="res://.godot/imported/Memory4.png-d5a3ce895654e5e79b826f4457b5a622.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Background/Memories/Memory4.png"
dest_files=["res://.godot/imported/Memory4.png-d5a3ce895654e5e79b826f4457b5a622.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3u7nur0ua1vb"
path="res://.godot/imported/Memory5.png-31614bf18e5753e76e79b6e7ee335479.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Background/Memories/Memory5.png"
dest_files=["res://.godot/imported/Memory5.png-31614bf18e5753e76e79b6e7ee335479.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

File diff suppressed because one or more lines are too long

17
Scenes/MemoryPiece.tscn Normal file
View File

@ -0,0 +1,17 @@
[gd_scene load_steps=3 format=3 uid="uid://bnvrarj8b5adq"]
[ext_resource type="Script" uid="uid://4mvhseasvij4" path="res://Scripts/MemoryPiece.gd" id="1_jkw5v"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ef2q7"]
size = Vector2(44, 36)
[node name="MemoryPiece" type="Area2D"]
script = ExtResource("1_jkw5v")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture_filter = 1
scale = Vector2(0.1, 0.1)
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(-1, 0)
shape = SubResource("RectangleShape2D_ef2q7")

View File

@ -16,7 +16,8 @@ texture = ExtResource("2_vjqmg")
[node name="OpenSprite" type="Sprite2D" parent="."]
visible = false
scale = Vector2(0.2, 0.2)
position = Vector2(-0.9999996, 0.9999987)
scale = Vector2(0.24, 0.24)
texture = ExtResource("3_ufc8o")
[node name="Area2D" type="Area2D" parent="."]

34
Scripts/MemoryPiece.gd Normal file
View File

@ -0,0 +1,34 @@
@tool
extends Area2D
@export var memory_texture: Texture2D:
set(value):
memory_texture = value
if $Sprite2D:
$Sprite2D.texture = memory_texture
@export var return_spawn: Marker2D
@export var wardrobe: Node2D
@onready var sprite: Sprite2D = $Sprite2D
func _ready() -> void:
if memory_texture:
sprite.texture = memory_texture
if not Engine.is_editor_hint():
body_entered.connect(_on_body_entered)
func _on_body_entered(body: Node) -> void:
if body is Player:
print("Memory piece collected")
if wardrobe and wardrobe.has_method("complete_wardrobe"):
wardrobe.complete_wardrobe()
if return_spawn:
body.global_position = return_spawn.global_position
else:
print("No return_spawn assigned to memory piece")
queue_free()

View File

@ -0,0 +1 @@
uid://4mvhseasvij4

View File

@ -43,7 +43,10 @@ func enter_wardrobe() -> void:
print("Entering wardrobe")
player.global_position = combat_spawn.global_position
func complete_wardrobe() -> void:
completed = true
closed_sprite.visible = false
open_sprite.visible = true
player.global_position = combat_spawn.global_position
print("Wardrobe completed")