Bug fixes, EX-stage visual tighten up

This commit is contained in:
Pal
2026-05-01 17:43:11 -07:00
parent b66d631bc5
commit 9e7678ce2a
93 changed files with 3689 additions and 1397 deletions
@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bge4p5khrhjdr"
path="res://.godot/imported/altar collider.glb-cc1c2eeda7ba38cd234e642ea042c9d6.scn"
[deps]
source_file="res://src/map/assets/Altar/altar collider.glb"
dest_files=["res://.godot/imported/altar collider.glb-cc1c2eeda7ba38cd234e642ea042c9d6.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
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=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1
@@ -30,25 +30,25 @@ public partial class BossRoomB : SpecialFloor, IBossRoom, IDungeonFloor
public void OnReady()
{
ActivateTrap.BodyEntered += ActivateTrap_AreaEntered;
_exit.AreaEntered += Exit_AreaEntered;
BridgeAnimationPlayer.AnimationFinished += BridgeAnimationPlayer_AnimationFinished;
ComputerTerminalA.HealthComponent.HealthReachedZero += TerminalDefeated;
ComputerTerminalB.HealthComponent.HealthReachedZero += TerminalDefeated;
ActivateTrap.BodyEntered += ActivateTrap_AreaEntered;
_exit.AreaEntered += Exit_AreaEntered;
BridgeAnimationPlayer.AnimationFinished += BridgeAnimationPlayer_AnimationFinished;
ComputerTerminalA.HealthComponent.HealthReachedZero += TerminalDefeated;
ComputerTerminalB.HealthComponent.HealthReachedZero += TerminalDefeated;
}
private void TerminalDefeated()
{
if (ComputerTerminalA.HealthComponent.CurrentHP.Value <= 0 && ComputerTerminalB.HealthComponent.CurrentHP.Value <= 0)
OpenBridgeFull();
else
OpenBridgeHalf();
if (ComputerTerminalA.HealthComponent.CurrentHP.Value <= 0 && ComputerTerminalB.HealthComponent.CurrentHP.Value <= 0)
OpenBridgeFull();
else
OpenBridgeHalf();
}
private void BridgeAnimationPlayer_AnimationFinished(StringName animName)
{
if (animName == "Bridge Extend Full")
BridgeCollision.SetDeferred(CollisionShape3D.PropertyName.Disabled, true);
if (animName == "Bridge Extend Full")
BridgeCollision.SetDeferred(CollisionShape3D.PropertyName.Disabled, true);
}
private void ActivateTrap_AreaEntered(Node3D area) => StartBossFight();
@@ -60,31 +60,31 @@ public partial class BossRoomB : SpecialFloor, IBossRoom, IDungeonFloor
public void StartBossFight()
{
DemonWall.Activate();
DemonWall.Activate();
}
public void ExitReached()
=> Game.FloorExitReached();
=> Game.FloorExitReached();
public void OpenBridgeHalf()
{
BridgeAnimationPlayer.Play("Bridge Extend Half");
BridgeAnimationPlayer.Play("Bridge Extend Half");
}
public void OpenBridgeFull()
{
BridgeAnimationPlayer.Play("Bridge Extend Full");
BridgeAnimationPlayer.Play("Bridge Extend Full");
}
private void Exit_AreaEntered(Area3D area)
{
if (area.GetOwner() is IPlayer)
ExitReached();
if (area.GetOwner() is IPlayer)
ExitReached();
}
public void OnExitTree()
{
ActivateTrap.BodyEntered -= ActivateTrap_AreaEntered;
_exit.AreaEntered -= Exit_AreaEntered;
ActivateTrap.BodyEntered -= ActivateTrap_AreaEntered;
_exit.AreaEntered -= Exit_AreaEntered;
}
}
File diff suppressed because one or more lines are too long
@@ -16,21 +16,21 @@ public partial class Cellular : SpecialFloor
public void OnResolved()
{
Show();
Exit.AreaEntered += Exit_AreaEntered;
FloorIsLoaded = true;
Show();
Exit.AreaEntered += Exit_AreaEntered;
FloorIsLoaded = true;
}
private void Exit_AreaEntered(Area3D area)
{
if (area.GetOwner() is IPlayer)
ExitReached();
if (area.GetOwner() is IPlayer)
ExitReached();
}
public void ExitReached() => Game.FloorExitReached();
public void OnExitTree()
{
Exit.AreaEntered -= Exit_AreaEntered;
Exit.AreaEntered -= Exit_AreaEntered;
}
}
File diff suppressed because one or more lines are too long
@@ -15,21 +15,21 @@ public partial class Grassland : SpecialFloor
public void OnResolved()
{
Show();
Exit.AreaEntered += Exit_AreaEntered;
FloorIsLoaded = true;
Show();
Exit.AreaEntered += Exit_AreaEntered;
FloorIsLoaded = true;
}
private void Exit_AreaEntered(Area3D area)
{
if (area.GetOwner() is IPlayer)
ExitReached();
if (area.GetOwner() is IPlayer)
ExitReached();
}
public void ExitReached() => Game.FloorExitReached();
public void OnExitTree()
{
Exit.AreaEntered -= Exit_AreaEntered;
Exit.AreaEntered -= Exit_AreaEntered;
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -15,21 +15,21 @@ public partial class Platform : SpecialFloor
public void OnResolved()
{
Show();
Exit.AreaEntered += Exit_AreaEntered;
FloorIsLoaded = true;
Show();
Exit.AreaEntered += Exit_AreaEntered;
FloorIsLoaded = true;
}
private void Exit_AreaEntered(Area3D area)
{
if (area.GetOwner() is IPlayer)
ExitReached();
if (area.GetOwner() is IPlayer)
ExitReached();
}
public void ExitReached() => Game.FloorExitReached();
public void OnExitTree()
{
Exit.AreaEntered -= Exit_AreaEntered;
Exit.AreaEntered -= Exit_AreaEntered;
}
}
@@ -1,8 +1,9 @@
[gd_scene load_steps=44 format=4 uid="uid://cj0o4t20jdk02"]
[gd_scene load_steps=47 format=4 uid="uid://cj0o4t20jdk02"]
[ext_resource type="Script" uid="uid://dd8dyuud0f74g" path="res://src/map/dungeon/floors/Special Floors/Platform.cs" id="1_mkwqq"]
[ext_resource type="Texture2D" uid="uid://h4hyjwy3q1h3" path="res://src/map/assets/EX Assetts/1.png" id="2_tstta"]
[ext_resource type="Texture2D" uid="uid://cbpw07ft33je5" path="res://src/map/assets/EX Assetts/MOON.png" id="3_x55gx"]
[ext_resource type="Shader" uid="uid://bpkmgenx50vof" path="res://src/map/map shaders/VOID PORTAL.gdshader" id="4_tstta"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4ro7o"]
resource_name = "Material.004"
@@ -696,6 +697,18 @@ size = Vector3(144.201, 37.2499, 211.44)
[sub_resource type="BoxShape3D" id="BoxShape3D_8t70y"]
size = Vector3(21.7796, 9.29993, 3.79205)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_x55gx"]
render_priority = 0
shader = ExtResource("4_tstta")
shader_parameter/strength = 0.369
shader_parameter/speed = 0.12
shader_parameter/screen_resolution = Vector2(1280, 720)
[sub_resource type="QuadMesh" id="QuadMesh_voxte"]
size = Vector2(3.785, 6.145)
subdivide_width = 2
subdivide_depth = 2
[node name="Platform" type="Node3D"]
script = ExtResource("1_mkwqq")
@@ -835,7 +848,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.45244, 0)
[node name="PlayerSpawnPoint" type="Marker3D" parent="Spawn Points"]
unique_name_in_owner = true
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 52.5204, 4.77196, 21.373)
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -56.421, 4.77196, -31.6885)
[node name="Room" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -3.84712, 0)
@@ -857,5 +870,11 @@ collision_layer = 256
collision_mask = 256
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room/Exit"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.1039, -2.66624, -22.5489)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.1039, -0.78056, 164.654)
shape = SubResource("BoxShape3D_8t70y")
[node name="webway" type="MeshInstance3D" parent="."]
transform = Transform3D(0.765, 0, 0, 0, 0.765, 0, 0, 0, 0.765, -0.364896, 2.90441, 103.648)
material_override = SubResource("ShaderMaterial_x55gx")
mesh = SubResource("QuadMesh_voxte")
skeleton = NodePath("../..")
@@ -17,21 +17,21 @@ public partial class River : SpecialFloor
public void OnResolved()
{
Show();
Exit.AreaEntered += Exit_AreaEntered;
FloorIsLoaded = true;
Show();
Exit.AreaEntered += Exit_AreaEntered;
FloorIsLoaded = true;
}
private void Exit_AreaEntered(Area3D area)
{
if (area.GetOwner() is IPlayer)
ExitReached();
if (area.GetOwner() is IPlayer)
ExitReached();
}
public void ExitReached() => Game.FloorExitReached();
public void OnExitTree()
{
Exit.AreaEntered -= Exit_AreaEntered;
Exit.AreaEntered -= Exit_AreaEntered;
}
}
@@ -1,4 +1,4 @@
[gd_scene load_steps=50 format=4 uid="uid://bfel23t0brfgb"]
[gd_scene load_steps=53 format=4 uid="uid://bfel23t0brfgb"]
[ext_resource type="Script" uid="uid://4yx8q5wp3acp" path="res://src/map/dungeon/floors/Special Floors/River.cs" id="1_0q5xi"]
[ext_resource type="Shader" uid="uid://buj0rfyawbmuu" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-Grassy/Grassland.gdshader" id="2_poprr"]
@@ -17,6 +17,7 @@
[ext_resource type="Texture2D" uid="uid://biqkhlywidr7x" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-River/River_ground_0007_roughness_1k.png" id="15_23sxr"]
[ext_resource type="Texture2D" uid="uid://cbpw07ft33je5" path="res://src/map/assets/EX Assetts/MOON.png" id="16_relpx"]
[ext_resource type="PackedScene" uid="uid://d6pjtdg6wh38" path="res://src/map/Placeables/Stele F.tscn" id="17_5tdbj"]
[ext_resource type="Shader" uid="uid://bpkmgenx50vof" path="res://src/map/map shaders/VOID PORTAL.gdshader" id="18_poprr"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_fsavp"]
@@ -452,7 +453,19 @@ dof_blur_amount = 0.02
size = Vector3(122.191, 37.2499, 160.67)
[sub_resource type="BoxShape3D" id="BoxShape3D_poprr"]
size = Vector3(10.2297, 7.80759, 10.2677)
size = Vector3(1.63453, 7.80759, 1.06392)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bnmex"]
render_priority = 0
shader = ExtResource("18_poprr")
shader_parameter/strength = 0.369
shader_parameter/speed = 0.12
shader_parameter/screen_resolution = Vector2(1280, 720)
[sub_resource type="QuadMesh" id="QuadMesh_5xa56"]
size = Vector2(3.785, 6.145)
subdivide_width = 2
subdivide_depth = 2
[node name="River" type="Node3D"]
script = ExtResource("1_0q5xi")
@@ -461,7 +474,6 @@ script = ExtResource("1_0q5xi")
[node name="River" type="Node3D" parent="Model"]
transform = Transform3D(21.52, 0, 0, 0, 21.52, 0, 0, 0, 21.52, 4.3771, 2.9638, 3.15186)
visible = false
[node name="RIVER" type="MeshInstance3D" parent="Model/River"]
visible = false
@@ -469,6 +481,7 @@ mesh = SubResource("ArrayMesh_kmo3x")
skeleton = NodePath("")
[node name="TOP" type="MeshInstance3D" parent="Model/River"]
visible = false
mesh = SubResource("ArrayMesh_rp2ek")
skeleton = NodePath("")
@@ -559,7 +572,7 @@ collision_layer = 256
collision_mask = 256
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room/Exit"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 114.678, -2.10891, -92.1095)
transform = Transform3D(0.825803, 0, 0.563959, 0, 1, 0, -0.563959, 0, 0.825803, 113.027, -3.71033, -95.7205)
shape = SubResource("BoxShape3D_poprr")
[node name="Spawn Points" type="Node3D" parent="."]
@@ -567,4 +580,10 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.70806, 0)
[node name="PlayerSpawnPoint" type="Marker3D" parent="Spawn Points"]
unique_name_in_owner = true
transform = Transform3D(0.949404, 0, 0.314059, 0, 1, 0, -0.314059, 0, 0.949404, 3.90301, -2.74016, 13.7071)
transform = Transform3D(0.960659, 0, 0.277734, 0, 1, 0, -0.277734, 0, 0.960659, 2.08994, -3.4838, 6.50655)
[node name="webway" type="MeshInstance3D" parent="."]
transform = Transform3D(0.409344, 0, 0.269328, 0, 0.49, 0, -0.269328, 0, 0.409344, 113.037, 0.930257, -95.666)
material_override = SubResource("ShaderMaterial_bnmex")
mesh = SubResource("QuadMesh_5xa56")
skeleton = NodePath("../..")
@@ -15,21 +15,21 @@ public partial class Server : SpecialFloor
public void OnResolved()
{
Show();
Exit.AreaEntered += Exit_AreaEntered;
FloorIsLoaded = true;
Show();
Exit.AreaEntered += Exit_AreaEntered;
FloorIsLoaded = true;
}
private void Exit_AreaEntered(Area3D area)
{
if (area.GetOwner() is IPlayer)
ExitReached();
if (area.GetOwner() is IPlayer)
ExitReached();
}
public void ExitReached() => Game.FloorExitReached();
public void OnExitTree()
{
Exit.AreaEntered -= Exit_AreaEntered;
Exit.AreaEntered -= Exit_AreaEntered;
}
}
@@ -1,4 +1,4 @@
[gd_scene load_steps=63 format=4 uid="uid://cnlw4fistem53"]
[gd_scene load_steps=66 format=4 uid="uid://cnlw4fistem53"]
[ext_resource type="Script" uid="uid://bc56uwauby3eh" path="res://src/map/dungeon/floors/Special Floors/Server.cs" id="1_138ti"]
[ext_resource type="Texture2D" uid="uid://dlku6x3aq0pns" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-Server/EXserver_WIRE.jpg" id="2_pw0lq"]
@@ -13,6 +13,7 @@
[ext_resource type="Texture2D" uid="uid://3cwvemmb1pc3" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-Server/EXserver_rust07L.jpg" id="11_lucqj"]
[ext_resource type="Texture2D" uid="uid://swoxwtgtik0j" path="res://src/map/dungeon/models/Special Floors & Rooms/EX-Server/EXserver_Panels 2_1024.png" id="12_rkqxc"]
[ext_resource type="PackedScene" uid="uid://d6pjtdg6wh38" path="res://src/map/Placeables/Stele F.tscn" id="13_5o7ke"]
[ext_resource type="Shader" uid="uid://bpkmgenx50vof" path="res://src/map/map shaders/VOID PORTAL.gdshader" id="14_pw0lq"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_f4kri"]
resource_name = "Material.001"
@@ -1007,6 +1008,18 @@ size = Vector3(128.504, 37.2499, 164.505)
[sub_resource type="BoxShape3D" id="BoxShape3D_4yya2"]
size = Vector3(1.90881, 4.51166, 6.00504)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bfmrj"]
render_priority = 0
shader = ExtResource("14_pw0lq")
shader_parameter/strength = 0.369
shader_parameter/speed = 0.12
shader_parameter/screen_resolution = Vector2(1280, 720)
[sub_resource type="QuadMesh" id="QuadMesh_ps4y4"]
size = Vector2(3.785, 6.145)
subdivide_width = 2
subdivide_depth = 2
[node name="EX-SERVER" type="Node3D"]
script = ExtResource("1_138ti")
@@ -1121,7 +1134,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.70806, 0)
[node name="PlayerSpawnPoint" type="Marker3D" parent="Spawn Points"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.581077, -1.88017, 32.9043)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 49.584, 0, 15.539)
[node name="Room" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.31338, 0)
@@ -1138,11 +1151,12 @@ shape = SubResource("BoxShape3D_8cgur")
[node name="Exit" type="Area3D" parent="Room"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -33.6023, 0, 33.2291)
collision_layer = 256
collision_mask = 256
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room/Exit"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 33.583, -0.46095, -0.0630896)
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 34.1529, -0.46095, -0.0630913)
shape = SubResource("BoxShape3D_4yya2")
[node name="NPCs" type="Node3D" parent="."]
@@ -1155,3 +1169,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -32.4542, 0.622075, 5.49706)
[node name="SteleF3" parent="NPCs" instance=ExtResource("13_5o7ke")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -32.4542, 0.622075, -4.79838)
[node name="webway" type="MeshInstance3D" parent="."]
transform = Transform3D(0.765, 0, 0, 0, 0.765, 0, 0, 0, 0.765, 0.637109, 3.4635, 33.5474)
material_override = SubResource("ShaderMaterial_bfmrj")
mesh = SubResource("QuadMesh_ps4y4")
skeleton = NodePath("../..")
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cp0er3xxxjkr5"
path="res://.godot/imported/A2-Puer_AREA_2_MAIN_222STONE.png-992459ef9849c39922a9b9e0c7774a4a.ctex"
path="res://.godot/imported/a2-puer_AREA_2_MAIN_222STONE.png-139f243ac630853348798dfe584da1e0.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_AREA_2_MAIN_222STONE.png"
dest_files=["res://.godot/imported/A2-Puer_AREA_2_MAIN_222STONE.png-992459ef9849c39922a9b9e0c7774a4a.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_AREA_2_MAIN_222STONE.png"
dest_files=["res://.godot/imported/a2-puer_AREA_2_MAIN_222STONE.png-139f243ac630853348798dfe584da1e0.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://5r16swvuqjjg"
path="res://.godot/imported/A2-Puer_AREA_2_MAIN_STONE.png-2267bd7e464cdc2e03c8954de01941bf.ctex"
path="res://.godot/imported/a2-puer_AREA_2_MAIN_STONE.png-986249227e569ea1e40b4825b7f05c47.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_AREA_2_MAIN_STONE.png"
dest_files=["res://.godot/imported/A2-Puer_AREA_2_MAIN_STONE.png-2267bd7e464cdc2e03c8954de01941bf.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_AREA_2_MAIN_STONE.png"
dest_files=["res://.godot/imported/a2-puer_AREA_2_MAIN_STONE.png-986249227e569ea1e40b4825b7f05c47.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cvnpxln2mmtkp"
path="res://.godot/imported/A2-Puer_COLUMN_WHITE.png-18037c22b966bb159d05cb7acac1bc53.ctex"
path="res://.godot/imported/a2-puer_COLUMN_WHITE.png-0b80d510851319464b2ef729d8868892.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_COLUMN_WHITE.png"
dest_files=["res://.godot/imported/A2-Puer_COLUMN_WHITE.png-18037c22b966bb159d05cb7acac1bc53.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_COLUMN_WHITE.png"
dest_files=["res://.godot/imported/a2-puer_COLUMN_WHITE.png-0b80d510851319464b2ef729d8868892.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://tjtjbktl51kd"
path="res://.godot/imported/A2-Puer_GREENBIT.png-40a9ca6a0efc569a5f329f19b3c3e572.ctex"
path="res://.godot/imported/a2-puer_GREENBIT.png-e1ed395f917a2fe57ed6288185af0729.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_GREENBIT.png"
dest_files=["res://.godot/imported/A2-Puer_GREENBIT.png-40a9ca6a0efc569a5f329f19b3c3e572.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_GREENBIT.png"
dest_files=["res://.godot/imported/a2-puer_GREENBIT.png-e1ed395f917a2fe57ed6288185af0729.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dqfdyguq83bhs"
path="res://.godot/imported/A2-Puer_M13_14.png-e781478f15895763a566a64ff37db311.ctex"
path="res://.godot/imported/a2-puer_M13_14.png-ed8b29b0af1c2b973bfaee62e57cab14.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_M13_14.png"
dest_files=["res://.godot/imported/A2-Puer_M13_14.png-e781478f15895763a566a64ff37db311.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_M13_14.png"
dest_files=["res://.godot/imported/a2-puer_M13_14.png-ed8b29b0af1c2b973bfaee62e57cab14.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dorqwrqy03rim"
path="res://.godot/imported/A2-Puer_M13_49.png-44faadb5ae300e9ecea145cfe1949536.ctex"
path="res://.godot/imported/a2-puer_M13_49.png-86429b5a3cd80a9159f32ded99a631bc.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_M13_49.png"
dest_files=["res://.godot/imported/A2-Puer_M13_49.png-44faadb5ae300e9ecea145cfe1949536.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_M13_49.png"
dest_files=["res://.godot/imported/a2-puer_M13_49.png-86429b5a3cd80a9159f32ded99a631bc.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://nl3bwenfa8fi"
path="res://.godot/imported/A2-Puer_RUBBLE_1.png-72d7ff861d1df58d800502546da8d607.ctex"
path="res://.godot/imported/a2-puer_RUBBLE_1.png-c7185e2aad2613007d1951f1515ef882.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_RUBBLE_1.png"
dest_files=["res://.godot/imported/A2-Puer_RUBBLE_1.png-72d7ff861d1df58d800502546da8d607.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_RUBBLE_1.png"
dest_files=["res://.godot/imported/a2-puer_RUBBLE_1.png-c7185e2aad2613007d1951f1515ef882.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://0p6suo7fpxum"
path="res://.godot/imported/A2-Puer_STUCCO_DECAL_BIG.png-015d9f8dd06372231a1f422979d3604e.ctex"
path="res://.godot/imported/a2-puer_STUCCO_DECAL_BIG.png-882b477f490f6ddbf5bffb3a6f8904e1.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_STUCCO_DECAL_BIG.png"
dest_files=["res://.godot/imported/A2-Puer_STUCCO_DECAL_BIG.png-015d9f8dd06372231a1f422979d3604e.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_STUCCO_DECAL_BIG.png"
dest_files=["res://.godot/imported/a2-puer_STUCCO_DECAL_BIG.png-882b477f490f6ddbf5bffb3a6f8904e1.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://ct3mkni0v0y3g"
path="res://.godot/imported/A2-Puer_Tile 4.png-0cfd085ec5fcea35eb2d1373e4717f77.ctex"
path="res://.godot/imported/a2-puer_Tile 4.png-9d089a32db3fc38a0c5dee6cdb6d3495.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_Tile 4.png"
dest_files=["res://.godot/imported/A2-Puer_Tile 4.png-0cfd085ec5fcea35eb2d1373e4717f77.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_Tile 4.png"
dest_files=["res://.godot/imported/a2-puer_Tile 4.png-9d089a32db3fc38a0c5dee6cdb6d3495.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://b40fbcriycpp5"
path="res://.godot/imported/A2-Puer_imag2esnormal.jpg-be023c8af9ff59eedfb3ede232c75195.ctex"
path="res://.godot/imported/a2-puer_imag2esnormal.jpg-d6e063b2785344af34fa3bb45d47aa2f.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_imag2esnormal.jpg"
dest_files=["res://.godot/imported/A2-Puer_imag2esnormal.jpg-be023c8af9ff59eedfb3ede232c75195.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_imag2esnormal.jpg"
dest_files=["res://.godot/imported/a2-puer_imag2esnormal.jpg-d6e063b2785344af34fa3bb45d47aa2f.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://b25r6gysyhu3e"
path="res://.godot/imported/A2-Puer_inner_rock2.png-7c99975de214e5dddd3507f87212b910.ctex"
path="res://.godot/imported/a2-puer_inner_rock2.png-943622742770f7b55d1e40645d07d057.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_inner_rock2.png"
dest_files=["res://.godot/imported/A2-Puer_inner_rock2.png-7c99975de214e5dddd3507f87212b910.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_inner_rock2.png"
dest_files=["res://.godot/imported/a2-puer_inner_rock2.png-943622742770f7b55d1e40645d07d057.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cw4hq3kofjowa"
path="res://.godot/imported/A2-Puer_lime_hand_relief.png-825857ea33249fe0361c829ba37bbfdb.ctex"
path="res://.godot/imported/a2-puer_lime_hand_relief.png-85b73e808337e8b8841453cbda0e78cd.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_lime_hand_relief.png"
dest_files=["res://.godot/imported/A2-Puer_lime_hand_relief.png-825857ea33249fe0361c829ba37bbfdb.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_lime_hand_relief.png"
dest_files=["res://.godot/imported/a2-puer_lime_hand_relief.png-85b73e808337e8b8841453cbda0e78cd.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bqrsde28o867s"
path="res://.godot/imported/A2-Puer_mother_GREEN.png-ba1f3d21981ed19fc5cc87868e04808c.ctex"
path="res://.godot/imported/a2-puer_mother_GREEN.png-7bb7d8dd57027953ba1e08ed0c256c8b.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_mother_GREEN.png"
dest_files=["res://.godot/imported/A2-Puer_mother_GREEN.png-ba1f3d21981ed19fc5cc87868e04808c.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_mother_GREEN.png"
dest_files=["res://.godot/imported/a2-puer_mother_GREEN.png-7bb7d8dd57027953ba1e08ed0c256c8b.ctex"]
[params]
@@ -3,7 +3,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://4aq3a26dliyg"
path="res://.godot/imported/A2-Puer_swirled_column _AREA222.png-4842b180cffdbc0274ecb9cbbbbc8221.ctex"
path="res://.godot/imported/a2-puer_swirled_column _AREA222.png-6f90c188eae5b7e81110f39984d5d43f.ctex"
metadata={
"vram_texture": false
}
@@ -13,8 +13,8 @@ generator_parameters={
[deps]
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_swirled_column _AREA222.png"
dest_files=["res://.godot/imported/A2-Puer_swirled_column _AREA222.png-4842b180cffdbc0274ecb9cbbbbc8221.ctex"]
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_swirled_column _AREA222.png"
dest_files=["res://.godot/imported/a2-puer_swirled_column _AREA222.png-6f90c188eae5b7e81110f39984d5d43f.ctex"]
[params]
@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://ccyw0c2qrfn1b"
path="res://.godot/imported/Erroneous Grass Section.glb-2aed6f56eb701923e0cf21e3c80db17e.scn"
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/EX-Grassy/Erroneous Grass Section.glb"
dest_files=["res://.godot/imported/Erroneous Grass Section.glb-2aed6f56eb701923e0cf21e3c80db17e.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
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=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1
@@ -1,4 +1,4 @@
[gd_scene load_steps=82 format=4 uid="uid://dn5546yqyntfr"]
[gd_scene load_steps=83 format=4 uid="uid://dn5546yqyntfr"]
[ext_resource type="Script" uid="uid://bccyfmj8ikewh" path="res://src/map/dungeon/code/SpecialRoom.cs" id="1_7rwa4"]
[ext_resource type="Shader" uid="uid://cntrajooialrn" path="res://src/map/map shaders/DemonWall Wave.gdshader" id="2_7rwa4"]
@@ -26,6 +26,7 @@
[ext_resource type="Texture2D" uid="uid://b2rw3aicaiyej" path="res://src/map/dungeon/models/Area 1/Hand/A1-Hand_SA115-SMALL.jpg" id="24_mc2uc"]
[ext_resource type="PackedScene" uid="uid://dp3mbo0pqgrrb" path="res://src/item_rescue/ItemRescue.tscn" id="24_x7lek"]
[ext_resource type="Texture2D" uid="uid://64kdptf7d6op" path="res://src/map/dungeon/models/Area 1/Hand/A1-Hand_starsigns.png" id="25_eiu2t"]
[ext_resource type="AudioStream" uid="uid://bxrlehky1833a" path="res://src/audio/sfx/amb_pipe_loop_brokenloop.ogg" id="28_kbwvc"]
[ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/assets/DUST_1.png" id="29_1kxhq"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ijegn"]
@@ -1082,3 +1083,6 @@ draw_pass_1 = SubResource("QuadMesh_s0dni")
[node name="Pipe Throb" type="AudioStreamPlayer3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.40079, 0, 6.54183)
stream = ExtResource("28_kbwvc")
autoplay = true
max_polyphony = 2
@@ -1726,7 +1726,7 @@ mesh = SubResource("PlaneMesh_4l7hs")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.46673, 0)
[node name="Gesthemii" parent="NPC" instance=ExtResource("29_43nhx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0197773, -0.817697, 3.52021)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.36627, -0.817697, 3.52021)
[node name="Lights" type="Node3D" parent="."]
@@ -1344,8 +1344,8 @@ process_material = SubResource("ParticleProcessMaterial_63u6y")
draw_pass_1 = SubResource("QuadMesh_fwdls")
[node name="FogVolume" type="FogVolume" parent="VFX"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12.6989)
size = Vector3(30.7642, 10.3584, 24.915)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0644741, 7.34628, -2.68554)
size = Vector3(6.65347, 4.33984, 9.62774)
[node name="AnimationPlayer" type="AnimationPlayer" parent="VFX"]
root_node = NodePath("../Flame1")
@@ -1,5 +1,6 @@
shader_type spatial;
render_mode unshaded, fog_disabled;
render_mode unshaded;
render_mode depth_draw_always;
// Noise textures for bubble field and haze effect
group_uniforms noise_textures;
@@ -0,0 +1,41 @@
shader_type spatial;
render_mode cull_disabled;
render_mode depth_draw_always;
uniform sampler2D screen_texture : hint_screen_texture, source_color, repeat_disable;
uniform sampler2D normal_map_texture : hint_normal;
uniform vec3 water_color : source_color = vec3(0.0625, 0.1992, 0.3594);
uniform float index_of_refraction = 1.333;
// Returns 1.0 if we can see above the water, 0.0 otherwise
float snells_window(vec3 normal, vec3 view, float ior) {
float cos_theta = dot(normal, view);
return step(sqrt(1.0 - cos_theta * cos_theta) * ior, 1.0);
}
void fragment() {
ROUGHNESS = 0.0;
// Basic waves
float time = TIME * 0.05;
vec3 normal_sample_1 = texture(normal_map_texture, UV + vec2(-1, 1) * time).xyz * 2.0 - 1.0;
vec3 normal_sample_2 = texture(normal_map_texture, -UV + vec2(0, 1) * time).xyz * 2.0 - 1.0;
vec3 normal_map = vec3(normal_sample_1.xy + normal_sample_2.xy, 0.0);
// Set NORMAL directly since we need to use it later
NORMAL_MAP_DEPTH = 1.0;
normal_map.z = sqrt(max(0.0, 1.0 - dot(normal_map.xy, normal_map.xy)));
NORMAL = normalize(mix(NORMAL, TANGENT * normal_map.x + BINORMAL * normal_map.y + NORMAL * normal_map.z, NORMAL_MAP_DEPTH));
// Screen distortion
vec2 distorted_uv = SCREEN_UV - normal_map.xy * 2.0 / length(VERTEX);
ALBEDO = texture(screen_texture, distorted_uv).rgb;
// Apply Snell's window mask to water surface when viewed from below
if(!FRONT_FACING) {
float mask = snells_window(NORMAL, VIEW, index_of_refraction);
ALBEDO = mix(water_color, ALBEDO, mask);
RADIANCE = vec4(vec3(0.0), mask);
IRRADIANCE = vec4(vec3(1.0), mask);
}
}
@@ -0,0 +1 @@
uid://ynicavnlh74x
@@ -0,0 +1,34 @@
shader_type spatial;
render_mode depth_draw_always;
uniform vec4 hologram_color = vec4(0.0, 0.6, 1.0, 1.0);
uniform float transparency : hint_range(0.0, 1.0) = 0.6;
uniform float glitch_strength : hint_range(0.0, 1.0) = 0.3;
uniform float glow_intensity : hint_range(0.0, 1.0) = 0.4;
uniform float time_factor : hint_range(0.0, 10.0) = 1.0;
uniform sampler2D texture_sampler;
uniform float noise_amount : hint_range(0.0, 1.0) = 0.05;
uniform float vertical_shift_speed : hint_range(-1.0, 1.0) = 0.1;
float random_noise(vec2 uv) {
return fract(sin(dot(uv, vec2(12.9898, 78.233))) * 43758.5453);
}
void fragment() {
vec2 uv = FRAGCOORD.xy / VIEWPORT_SIZE.xy;
uv.y += TIME * vertical_shift_speed;
float noise = random_noise(uv + TIME * 0.1);
uv.x += noise * glitch_strength * 0.05;
float glitch = sin(uv.x * 10.0 + TIME * time_factor) * glitch_strength;
uv.x += glitch * 0.05;
float glow = sin(TIME * 2.0) * glow_intensity;
vec4 color = texture(texture_sampler, uv);
color.rgb += glow * hologram_color.rgb * 0.5;
color.r += sin(TIME + uv.y * 3.0) * 0.1 * glitch_strength;
color.g += cos(TIME + uv.x * 2.0) * 0.1 * glitch_strength;
color.rgb *= hologram_color.rgb;
color.a *= transparency;
color.rgb += random_noise(uv) * noise_amount;
ALBEDO = color.rgb;
ALPHA = color.a;
}
@@ -0,0 +1 @@
uid://csggokw7xedso