Affinity locations added, some decorations and final floors work

This commit is contained in:
Pal
2026-04-08 01:19:51 -07:00
parent 640145afe5
commit 6847af1f8b
50 changed files with 4120 additions and 209 deletions

View File

@@ -35,76 +35,76 @@ public partial class Overworld : SpecialFloor, IDungeonFloor
public override void InitializeDungeon()
{
Show();
Exit.AreaEntered += Exit_AreaEntered;
RestoreArea.AreaEntered += RestoreArea_AreaEntered;
RestoreArea.AreaExited += RestoreArea_AreaExited;
RestoreTimer = new Timer();
RestoreTimer.WaitTime = 0.3f;
RestoreTimer.Timeout += RestoreTimer_Timeout;
AddChild(RestoreTimer);
FloorIsLoaded = true;
Show();
Exit.AreaEntered += Exit_AreaEntered;
RestoreArea.AreaEntered += RestoreArea_AreaEntered;
RestoreArea.AreaExited += RestoreArea_AreaExited;
RestoreTimer = new Timer();
RestoreTimer.WaitTime = 0.3f;
RestoreTimer.Timeout += RestoreTimer_Timeout;
AddChild(RestoreTimer);
FloorIsLoaded = true;
Game.ItemRescueMenu.SetProcessInput(false);
var torches = DeathTorches.GetChildren().OfType<Torch>().ToList();
var torchesToLight = Mathf.Min(Game.QuestData.DeathCount, 15);
for (var i = 0; i < torchesToLight; i++)
torches[i].Show();
Game.ItemRescueMenu.SetProcessInput(false);
var torches = DeathTorches.GetChildren().OfType<Torch>().ToList();
var torchesToLight = Mathf.Min(Game.QuestData.DeathCount, 15);
for (var i = 0; i < torchesToLight; i++)
torches[i].Show();
ItemRescueInteractZone.AreaEntered += ItemRescueInteractZone_AreaEntered;
var dimmableAudio = DimmableAudio.GetChildren().OfType<IDimmableAudioStreamPlayer>();
foreach (var dimmable in dimmableAudio)
dimmable.FadeIn();
ItemRescueInteractZone.AreaEntered += ItemRescueInteractZone_AreaEntered;
var dimmableAudio = DimmableAudio.GetChildren().OfType<IDimmableAudioStreamPlayer>();
foreach (var dimmable in dimmableAudio)
dimmable.FadeIn();
}
public void OnResolved()
{
Game.ItemRescueMenu.MenuClosing += ItemRescueMenu_MenuClosing;
Game.ItemRescueMenu.MenuClosing += ItemRescueMenu_MenuClosing;
}
private void ItemRescueMenu_MenuClosing()
{
GameRepo.Resume();
Game.ItemRescueMenu.SetProcessInput(false);
GameRepo.Resume();
Game.ItemRescueMenu.SetProcessInput(false);
}
private void ItemRescueInteractZone_AreaEntered(Area3D area)
{
GameRepo.Pause();
Game.ItemRescueMenu.Show();
Game.ItemRescueMenu.SetProcessInput(true);
GameRepo.Pause();
Game.ItemRescueMenu.Show();
Game.ItemRescueMenu.SetProcessInput(true);
}
private void RestoreTimer_Timeout()
{
if (!Player.HealthComponent.AtFullHealth)
Player.HealthComponent.Heal(1);
if (!Player.VTComponent.AtFullVT)
Player.VTComponent.Restore(1);
if (!Player.HealthComponent.AtFullHealth)
Player.HealthComponent.Heal(1);
if (!Player.VTComponent.AtFullVT)
Player.VTComponent.Restore(1);
}
private void RestoreArea_AreaExited(Area3D area)
{
if (area.GetOwner() is IPlayer)
{
RestoreTimer.Stop();
Player.SetHealthTimerStatus(true);
}
if (area.GetOwner() is IPlayer)
{
RestoreTimer.Stop();
Player.SetHealthTimerStatus(true);
}
}
private void RestoreArea_AreaEntered(Area3D area)
{
if (area.GetOwner() is IPlayer)
{
RestoreTimer.Start();
Player.SetHealthTimerStatus(false);
}
if (area.GetOwner() is IPlayer)
{
RestoreTimer.Start();
Player.SetHealthTimerStatus(false);
}
}
private void Exit_AreaEntered(Area3D area)
{
if (area.GetOwner() is IPlayer)
ExitReached();
if (area.GetOwner() is IPlayer)
ExitReached();
}
public void ExitReached() => Game.FloorExitReached();
@@ -113,10 +113,10 @@ public partial class Overworld : SpecialFloor, IDungeonFloor
public void OnExitTree()
{
Exit.AreaEntered -= Exit_AreaEntered;
RestoreArea.AreaEntered -= RestoreArea_AreaEntered;
RestoreArea.AreaExited -= RestoreArea_AreaExited;
RestoreTimer.Timeout -= RestoreTimer_Timeout;
Exit.AreaEntered -= Exit_AreaEntered;
RestoreArea.AreaEntered -= RestoreArea_AreaEntered;
RestoreArea.AreaExited -= RestoreArea_AreaExited;
RestoreTimer.Timeout -= RestoreTimer_Timeout;
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,9 @@
[gd_scene load_steps=12 format=3 uid="uid://cxxa317b24cql"]
[gd_scene load_steps=14 format=3 uid="uid://cxxa317b24cql"]
[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_s4gx8"]
[ext_resource type="PackedScene" uid="uid://cohomtpkoicvf" path="res://src/map/dungeon/rooms/Set A/MazeFloor.tscn" id="2_cky7f"]
[ext_resource type="PackedScene" uid="uid://dcrcdoq0tpy3d" path="res://src/map/assets/false maze wall.glb" id="4_px4li"]
[ext_resource type="PackedScene" uid="uid://dqjovmlt1y4tb" path="res://src/map/Placeables/Sarco.tscn" id="5_qdto8"]
[ext_resource type="PackedScene" uid="uid://cihbmyo0ltq4m" path="res://src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn" id="6_vj1d1"]
[sub_resource type="NavigationMesh" id="NavigationMesh_cky7f"]
@@ -51,7 +53,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40.209, -0.146965, 67.371)
transform = Transform3D(-2, 0, -1.78814e-07, 0, 2, 0, 1.78814e-07, 0, -2, 36.432, 0, 117.503)
[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D"]
visible = false
[node name="CollisionShape3D3" type="CollisionShape3D" parent="NavigationRegion3D/StaticBody3D"]
transform = Transform3D(37.8564, 0, 0, 0, 3.78564, 0, 0, 0, 37.8564, 43.7062, 1.5733, 60.5469)
@@ -265,3 +266,9 @@ skeleton = NodePath("../..")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_o0qu5")
[node name="false maze wall" parent="." instance=ExtResource("4_px4li")]
transform = Transform3D(-4.37114e-08, 0, -0.03, 0, 1, 0, 1, 0, -1.31134e-09, 33.665, 13.861, 74.583)
[node name="Sarco" parent="." instance=ExtResource("5_qdto8")]
transform = Transform3D(0.595, 0, 0, 0, 0.595, 0, 0, 0, 0.595, 27.2569, -0.0255134, 74.3447)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,10 +1,10 @@
[gd_scene load_steps=184 format=4 uid="uid://dvnc26rebk6o0"]
[gd_scene load_steps=185 format=4 uid="uid://dvnc26rebk6o0"]
[ext_resource type="Script" uid="uid://cuhfkyh3d7noa" path="res://src/map/dungeon/code/Overworld.cs" id="1_5hmt3"]
[ext_resource type="Texture2D" uid="uid://co6h8vyi11sl2" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_63.png" id="2_g6b7b"]
[ext_resource type="AudioStream" uid="uid://dqmsaok6fyhe7" path="res://src/audio/AMB/amb_perlin.wav" id="2_wbbo3"]
[ext_resource type="AudioStream" uid="uid://dl07vg00se7hd" path="res://src/audio/AMB/amb_white_noise.wav" id="3_c2gp5"]
[ext_resource type="AudioStream" uid="uid://boypvgaweep8a" path="res://src/audio/AMB/amb_beach.wav" id="3_pvi8n"]
[ext_resource type="AudioStream" uid="uid://ym4ur8a2qxhp" path="res://src/audio/AMB/amb_perlin.wav" id="2_wbbo3"]
[ext_resource type="AudioStream" uid="uid://b7wxddjx3qw5o" path="res://src/audio/AMB/amb_white_noise.wav" id="3_c2gp5"]
[ext_resource type="AudioStream" uid="uid://ddii3pi8x75xc" path="res://src/audio/AMB/amb_beach.wav" id="3_pvi8n"]
[ext_resource type="Texture2D" uid="uid://w33fr6exryiy" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_37.png" id="3_uyygh"]
[ext_resource type="Texture2D" uid="uid://dv10yaqvp3mub" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_71.png" id="4_r8r3k"]
[ext_resource type="Shader" uid="uid://brhf7s3riyag5" path="res://src/map/map shaders/Metal.gdshader" id="5_d1qcb"]
@@ -37,6 +37,7 @@
[ext_resource type="Texture2D" uid="uid://b88bm86hnc8m6" path="res://src/map/overworld/Overworld Fixes Models/Overworld Reexport Fixes_stone_column_carved.png" id="29_8ti3u"]
[ext_resource type="Texture2D" uid="uid://co3s2s5tswuj4" path="res://src/map/overworld/Overworld Fixes Models/Overworld Reexport Fixes_MOSAIC.png" id="30_6gklp"]
[ext_resource type="Texture2D" uid="uid://pu4o1pwi6hnf" path="res://src/map/overworld/Overworld Fixes Models/Overworld Reexport Fixes_rock_outside_colored_CORRECTED1.png" id="31_kdqo4"]
[ext_resource type="PackedScene" uid="uid://dqjovmlt1y4tb" path="res://src/map/Placeables/Sarco.tscn" id="59_mic3u"]
[ext_resource type="PackedScene" uid="uid://doncarj3f8iua" path="res://src/vfx/Torch.tscn" id="60_xqf5a"]
[ext_resource type="Script" uid="uid://b83kye8yinfxs" path="res://src/audio/AmbientSFXPlayer3D.cs" id="66_q7hpd"]
[ext_resource type="Texture2D" uid="uid://c38grr8d22ukg" path="res://src/map/assets/Overworld Assetts/cloudscape.png" id="67_uyygh"]
@@ -2438,6 +2439,9 @@ visible = false
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.72844, 3.271, 11.0727)
visible = false
[node name="Sarco" parent="." instance=ExtResource("59_mic3u")]
transform = Transform3D(0.307782, 0, -0.50921, 0, 0.595, 0, 0.50921, 0, 0.307782, -296.51, 2.61698, 3.30074)
[editable path="Node3D/Actors/Rat"]
[editable path="Node3D/Actors/Clalo"]
[editable path="Node3D/Actors/Caretaker of Saints"]

View File

@@ -3,13 +3,13 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://omivkcmp7slf"
path="res://.godot/imported/space platform applied.glb-b6a6b316e5646281a3a0b3f62a34061c.scn"
uid="uid://btdwtan0yoop2"
path="res://.godot/imported/grassy.glb-fc9a9a2f7988a204520b7f8abd71b1f4.scn"
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/EX Assetts/space platform applied.glb"
dest_files=["res://.godot/imported/space platform applied.glb-b6a6b316e5646281a3a0b3f62a34061c.scn"]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/EX-Grassy/grassy.glb"
dest_files=["res://.godot/imported/grassy.glb-fc9a9a2f7988a204520b7f8abd71b1f4.scn"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 KiB

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cb50sv16tctox"
path.bptc="res://.godot/imported/grassy_Stone_Floor_005_basecolor.jpg-55f57e4ad66d843f920cf9ccca720092.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "08c89cf051c841b40bda1c3637a473dd"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/EX-Grassy/grassy_Stone_Floor_005_basecolor.jpg"
dest_files=["res://.godot/imported/grassy_Stone_Floor_005_basecolor.jpg-55f57e4ad66d843f920cf9ccca720092.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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=0

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://de2ylktr3jek6"
path.bptc="res://.godot/imported/grassy_concrete_0001_color_1k-concrete_0001_normal_opengl_1k.png-c52423d1004ddab3fa67de4aa4e1afa1.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "38a50729e02b306da376b5ba92eb8b87"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/EX-Grassy/grassy_concrete_0001_color_1k-concrete_0001_normal_opengl_1k.png"
dest_files=["res://.godot/imported/grassy_concrete_0001_color_1k-concrete_0001_normal_opengl_1k.png-c52423d1004ddab3fa67de4aa4e1afa1.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://do12dimijp7cs"
path.bptc="res://.godot/imported/grassy_concrete_0001_color_1k.jpg-3f205b829eed66f235bb99259278feb3.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "6e95f3a87b26c477bb2e821f5937b1e0"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/EX-Grassy/grassy_concrete_0001_color_1k.jpg"
dest_files=["res://.godot/imported/grassy_concrete_0001_color_1k.jpg-3f205b829eed66f235bb99259278feb3.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cus6061b228fc"
path.bptc="res://.godot/imported/grassy_concrete_0001_height_1k.png-0d700a3a408f60bb00cb27e8cb7495b0.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "91281c3a6fc5ddeceed6d95b76e15dd6"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/EX-Grassy/grassy_concrete_0001_height_1k.png"
dest_files=["res://.godot/imported/grassy_concrete_0001_height_1k.png-0d700a3a408f60bb00cb27e8cb7495b0.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://src/map/dungeon/models/Special Floors & Rooms/EX-Grassy/grassy_concrete_0001_height_1k.png"
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 KiB

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://x1nxm0tydkt6"
path.bptc="res://.godot/imported/grassy_concrete_0001_roughness_1k.png-b8f21b1098d47108bba18dcbfb40236a.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "ab57cb97daa24305edd9d2414b6e1f1b"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/EX-Grassy/grassy_concrete_0001_roughness_1k.png"
dest_files=["res://.godot/imported/grassy_concrete_0001_roughness_1k.png-b8f21b1098d47108bba18dcbfb40236a.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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=0

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://xhbvxuu4wpss"
path.bptc="res://.godot/imported/grassy_ulrick-wery-tileableset-grassflower.jpg-dba2a8bcf5f880c63bc56f810cd1c8e8.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "728cc9c34654631d4f9820ac044b1a4f"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/EX-Grassy/grassy_ulrick-wery-tileableset-grassflower.jpg"
dest_files=["res://.godot/imported/grassy_ulrick-wery-tileableset-grassflower.jpg-dba2a8bcf5f880c63bc56f810cd1c8e8.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
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=0