Compare commits
2 Commits
e29bef51c5
...
b0f6aa176e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0f6aa176e | ||
|
|
9ed5f8600c |
@@ -1,21 +1,11 @@
|
|||||||
[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://b03wrq6l0mi15"]
|
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://b03wrq6l0mi15"]
|
||||||
|
|
||||||
[ext_resource type="Shader" uid="uid://dcx6kdi1s2ueh" path="res://src/vfx/shaders/MinimapShader.gdshader" id="1_51rab"]
|
[ext_resource type="Texture2D" uid="uid://jk0ysk54nrpc" path="res://src/minimap/textures/Room Maps/mi_2ante.png" id="1_thb07"]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_51rab"]
|
|
||||||
render_priority = 0
|
|
||||||
shader = ExtResource("1_51rab")
|
|
||||||
shader_parameter/border_thickness = 0.075
|
|
||||||
shader_parameter/dot_spacing = 0.0
|
|
||||||
shader_parameter/opacity = 1.0
|
|
||||||
shader_parameter/line_color = Color(1, 1, 1, 1)
|
|
||||||
shader_parameter/rotation_speed = 0.0
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
next_pass = SubResource("ShaderMaterial_51rab")
|
cull_mode = 2
|
||||||
transparency = 1
|
|
||||||
depth_draw_mode = 1
|
depth_draw_mode = 1
|
||||||
shading_mode = 0
|
shading_mode = 0
|
||||||
vertex_color_use_as_albedo = true
|
albedo_texture = ExtResource("1_thb07")
|
||||||
albedo_color = Color(0.929412, 0.454902, 0.117647, 0.843137)
|
|
||||||
texture_filter = 0
|
texture_filter = 0
|
||||||
|
texture_repeat = false
|
||||||
|
|||||||
@@ -17798,7 +17798,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -350.758, -3.90238, 113.556)
|
|||||||
environment = SubResource("Environment_8isf0")
|
environment = SubResource("Environment_8isf0")
|
||||||
camera_attributes = SubResource("CameraAttributesPractical_8nnl3")
|
camera_attributes = SubResource("CameraAttributesPractical_8nnl3")
|
||||||
|
|
||||||
[node name="SpotLight3D2" type="SpotLight3D" parent="Lighting And Environment"]
|
[node name="Well Spotlight 2" type="SpotLight3D" parent="Lighting And Environment"]
|
||||||
transform = Transform3D(0.961194, 0.00660055, -0.275793, 0.275872, -0.0229976, 0.960919, 0, -0.999714, -0.0239261, -283.819, 49.9075, -104.243)
|
transform = Transform3D(0.961194, 0.00660055, -0.275793, 0.275872, -0.0229976, 0.960919, 0, -0.999714, -0.0239261, -283.819, 49.9075, -104.243)
|
||||||
light_energy = 0.369
|
light_energy = 0.369
|
||||||
light_volumetric_fog_energy = 0.809
|
light_volumetric_fog_energy = 0.809
|
||||||
@@ -17806,7 +17806,7 @@ spot_range = 60.8934
|
|||||||
spot_attenuation = -0.73
|
spot_attenuation = -0.73
|
||||||
spot_angle = 24.82
|
spot_angle = 24.82
|
||||||
|
|
||||||
[node name="SpotLight3D" type="SpotLight3D" parent="Lighting And Environment"]
|
[node name="Altar Spotlight" type="SpotLight3D" parent="Lighting And Environment"]
|
||||||
transform = Transform3D(-0.967593, -0.0729725, -0.241739, -0.251104, 0.177078, 0.951625, -0.0266357, 0.981488, -0.189663, 8.75449, 31.1184, 12.7081)
|
transform = Transform3D(-0.967593, -0.0729725, -0.241739, -0.251104, 0.177078, 0.951625, -0.0266357, 0.981488, -0.189663, 8.75449, 31.1184, 12.7081)
|
||||||
light_energy = 0.273
|
light_energy = 0.273
|
||||||
spot_range = 32.091
|
spot_range = 32.091
|
||||||
@@ -17824,35 +17824,35 @@ shadow_opacity = 0.99
|
|||||||
shadow_blur = 1.419
|
shadow_blur = 1.419
|
||||||
directional_shadow_max_distance = 739.4
|
directional_shadow_max_distance = 739.4
|
||||||
|
|
||||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Lighting And Environment"]
|
[node name="Temple Godrays" type="CSGCylinder3D" parent="Lighting And Environment"]
|
||||||
transform = Transform3D(20.185, 0, 0, 0, 20.185, 0, 0, 0, 20.185, 118.599, 42.8541, -66.0835)
|
transform = Transform3D(20.185, 0, 0, 0, 20.185, 0, 0, 0, 20.185, 118.599, 42.8541, -66.0835)
|
||||||
radius = 1.10986
|
radius = 1.10986
|
||||||
height = 3.94248
|
height = 3.94248
|
||||||
cone = true
|
cone = true
|
||||||
material = SubResource("ShaderMaterial_l0fgw")
|
material = SubResource("ShaderMaterial_l0fgw")
|
||||||
|
|
||||||
[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Lighting And Environment"]
|
[node name="Well Godrays 2" type="CSGCylinder3D" parent="Lighting And Environment"]
|
||||||
transform = Transform3D(-4.40941, -6.76658, -18.4988, -4.16682, 18.848, -5.90112, 19.2517, 2.52963, -5.51418, -284.433, 44.3825, -104.809)
|
transform = Transform3D(-4.40941, -6.76658, -18.4988, -4.16682, 18.848, -5.90112, 19.2517, 2.52963, -5.51418, -284.433, 44.3825, -104.809)
|
||||||
radius = 0.147461
|
radius = 0.147461
|
||||||
height = 5.5284
|
height = 5.5284
|
||||||
cone = true
|
cone = true
|
||||||
material = SubResource("ShaderMaterial_l0fgw")
|
material = SubResource("ShaderMaterial_l0fgw")
|
||||||
|
|
||||||
[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="Lighting And Environment"]
|
[node name="Altar Godrays" type="CSGCylinder3D" parent="Lighting And Environment"]
|
||||||
transform = Transform3D(-4.40941, -6.76658, -18.4988, -4.16682, 18.848, -5.90112, 19.2517, 2.52963, -5.51418, -1.15381, 49.8989, 21.97)
|
transform = Transform3D(-4.40941, -6.76658, -18.4988, -4.16682, 18.848, -5.90112, 19.2517, 2.52963, -5.51418, -1.15381, 49.8989, 21.97)
|
||||||
radius = 0.147461
|
radius = 0.147461
|
||||||
height = 5.5485
|
height = 5.5485
|
||||||
cone = true
|
cone = true
|
||||||
material = SubResource("ShaderMaterial_l0fgw")
|
material = SubResource("ShaderMaterial_l0fgw")
|
||||||
|
|
||||||
[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="Lighting And Environment"]
|
[node name="Well Godrays" type="CSGCylinder3D" parent="Lighting And Environment"]
|
||||||
transform = Transform3D(-4.40941, -6.76658, -18.4988, -4.16682, 18.848, -5.90112, 19.2517, 2.52963, -5.51418, -292.074, 47.864, -101.821)
|
transform = Transform3D(-4.40941, -6.76658, -18.4988, -4.16682, 18.848, -5.90112, 19.2517, 2.52963, -5.51418, -292.074, 47.864, -101.821)
|
||||||
radius = 0.0449219
|
radius = 0.0449219
|
||||||
height = 5.18228
|
height = 5.18228
|
||||||
cone = true
|
cone = true
|
||||||
material = SubResource("ShaderMaterial_l0fgw")
|
material = SubResource("ShaderMaterial_l0fgw")
|
||||||
|
|
||||||
[node name="SpotLight3D3" type="SpotLight3D" parent="Lighting And Environment"]
|
[node name="Temple Spotlight" type="SpotLight3D" parent="Lighting And Environment"]
|
||||||
transform = Transform3D(1, 0, 0, 0, -0.107531, 0.994202, 0, -0.994202, -0.107531, 116.319, 40.0846, -62.5124)
|
transform = Transform3D(1, 0, 0, 0, -0.107531, 0.994202, 0, -0.994202, -0.107531, 116.319, 40.0846, -62.5124)
|
||||||
light_energy = 8.623
|
light_energy = 8.623
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
@@ -17860,7 +17860,7 @@ spot_range = 62.606
|
|||||||
spot_attenuation = 0.32
|
spot_attenuation = 0.32
|
||||||
spot_angle = 28.5323
|
spot_angle = 28.5323
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="Lighting And Environment"]
|
[node name="Interior Passage Light 2" type="OmniLight3D" parent="Lighting And Environment"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 195.404, 9.06882, -59.5851)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 195.404, 9.06882, -59.5851)
|
||||||
light_volumetric_fog_energy = 1.671
|
light_volumetric_fog_energy = 1.671
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
@@ -17868,27 +17868,27 @@ shadow_blur = 1.12
|
|||||||
omni_range = 20.0
|
omni_range = 20.0
|
||||||
omni_attenuation = 1.583
|
omni_attenuation = 1.583
|
||||||
|
|
||||||
[node name="OmniLight3D2" type="OmniLight3D" parent="Lighting And Environment"]
|
[node name="Interior Passage Light" type="OmniLight3D" parent="Lighting And Environment"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 167.985, 10.4049, -60.2912)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 167.985, 10.4049, -60.2912)
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
shadow_blur = 3.832
|
shadow_blur = 3.832
|
||||||
omni_range = 20.163
|
omni_range = 20.163
|
||||||
omni_attenuation = 1.347
|
omni_attenuation = 1.347
|
||||||
|
|
||||||
[node name="OmniLight3D3" type="OmniLight3D" parent="Lighting And Environment"]
|
[node name="Water Light" type="OmniLight3D" parent="Lighting And Environment"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 119.48, 0, 23.4559)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 119.48, 0, 23.4559)
|
||||||
light_color = Color(0.672, 1, 0.59, 1)
|
light_color = Color(0.672, 1, 0.59, 1)
|
||||||
light_energy = 1.115
|
light_energy = 1.115
|
||||||
omni_range = 45.654
|
omni_range = 45.654
|
||||||
omni_attenuation = 0.538
|
omni_attenuation = 0.538
|
||||||
|
|
||||||
[node name="OmniLight3D4" type="OmniLight3D" parent="Lighting And Environment"]
|
[node name="Temple Entrance Light 2" type="OmniLight3D" parent="Lighting And Environment"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 83.0614, 8.63657, -61.4086)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 83.0614, 8.63657, -61.4086)
|
||||||
light_energy = 0.329
|
light_energy = 0.329
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
omni_range = 60.893
|
omni_range = 60.893
|
||||||
|
|
||||||
[node name="OmniLight3D5" type="OmniLight3D" parent="Lighting And Environment"]
|
[node name="Temple Entrance Light" type="OmniLight3D" parent="Lighting And Environment"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 66.9977, 8.63657, -61.4086)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 66.9977, 8.63657, -61.4086)
|
||||||
light_energy = 0.329
|
light_energy = 0.329
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
@@ -0,0 +1,37 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://byh4w8smx17vn"
|
||||||
|
path="res://.godot/imported/A2-Proscenium_mottled.png-f40dbdc369c8f9842d2fc4477a2603a8.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
generator_parameters={
|
||||||
|
"md5": "54f201920cc39079cdcde8f0880ce398"
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/map/dungeon/models/Area 2/Proscenium/A2-Proscenium_mottled.png"
|
||||||
|
dest_files=["res://.godot/imported/A2-Proscenium_mottled.png-f40dbdc369c8f9842d2fc4477a2603a8.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
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.
@@ -3,13 +3,13 @@
|
|||||||
importer="scene"
|
importer="scene"
|
||||||
importer_version=1
|
importer_version=1
|
||||||
type="PackedScene"
|
type="PackedScene"
|
||||||
uid="uid://saepqdyeepyn"
|
uid="uid://dh8ji8g36mmx5"
|
||||||
path="res://.godot/imported/A2-Puer.glb-3b11ccd8f9ba6f91fbb05537c52490b0.scn"
|
path="res://.godot/imported/a2-puer.glb-20bdcd533f2a6024a2fa1d9a726cae55.scn"
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer.glb"
|
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer.glb"
|
||||||
dest_files=["res://.godot/imported/A2-Puer.glb-3b11ccd8f9ba6f91fbb05537c52490b0.scn"]
|
dest_files=["res://.godot/imported/a2-puer.glb-20bdcd533f2a6024a2fa1d9a726cae55.scn"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -510,10 +510,7 @@ shadow_mesh = SubResource("ArrayMesh_psnf0")
|
|||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rd0mx"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rd0mx"]
|
||||||
resource_name = "FLOOR SYMBOL2"
|
resource_name = "FLOOR SYMBOL2"
|
||||||
transparency = 2
|
transparency = 4
|
||||||
alpha_scissor_threshold = 0.5
|
|
||||||
alpha_antialiasing_mode = 0
|
|
||||||
cull_mode = 2
|
|
||||||
albedo_texture = ExtResource("13_2q6hq")
|
albedo_texture = ExtResource("13_2q6hq")
|
||||||
|
|
||||||
[sub_resource type="ArrayMesh" id="ArrayMesh_o5883"]
|
[sub_resource type="ArrayMesh" id="ArrayMesh_o5883"]
|
||||||
@@ -683,7 +680,7 @@ _limits = [-2.0, 2.0, 0.0, 1.0]
|
|||||||
_data = [Vector2(0.00358423, 0.230769), 0.0, 0.0, 0, 0, Vector2(0.982079, -1.03846), 0.0, 0.0, 0, 0]
|
_data = [Vector2(0.00358423, 0.230769), 0.0, 0.0, 0, 0, Vector2(0.982079, -1.03846), 0.0, 0.0, 0, 0]
|
||||||
point_count = 2
|
point_count = 2
|
||||||
|
|
||||||
[sub_resource type="CurveTexture" id="CurveTexture_312b8"]
|
[sub_resource type="CurveTexture" id="CurveTexture_1up8d"]
|
||||||
curve = SubResource("Curve_k6i88")
|
curve = SubResource("Curve_k6i88")
|
||||||
|
|
||||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4bxb6"]
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4bxb6"]
|
||||||
@@ -694,12 +691,12 @@ angle_min = -245.3
|
|||||||
angle_max = 417.9
|
angle_max = 417.9
|
||||||
orbit_velocity_min = -0.0269999
|
orbit_velocity_min = -0.0269999
|
||||||
orbit_velocity_max = 0.0400001
|
orbit_velocity_max = 0.0400001
|
||||||
orbit_velocity_curve = SubResource("CurveTexture_312b8")
|
orbit_velocity_curve = SubResource("CurveTexture_1up8d")
|
||||||
gravity = Vector3(0, -0.07, 0)
|
gravity = Vector3(0, -0.07, 0)
|
||||||
scale_min = 0.0
|
scale_min = 0.0
|
||||||
scale_max = 0.0
|
scale_max = 0.0
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jig7d"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6jb2l"]
|
||||||
transparency = 1
|
transparency = 1
|
||||||
cull_mode = 2
|
cull_mode = 2
|
||||||
shading_mode = 0
|
shading_mode = 0
|
||||||
@@ -708,7 +705,7 @@ albedo_texture = ExtResource("17_6jb2l")
|
|||||||
billboard_mode = 2
|
billboard_mode = 2
|
||||||
|
|
||||||
[sub_resource type="QuadMesh" id="QuadMesh_sasor"]
|
[sub_resource type="QuadMesh" id="QuadMesh_sasor"]
|
||||||
material = SubResource("StandardMaterial3D_jig7d")
|
material = SubResource("StandardMaterial3D_6jb2l")
|
||||||
size = Vector2(0.1, 0.1)
|
size = Vector2(0.1, 0.1)
|
||||||
subdivide_width = 1
|
subdivide_width = 1
|
||||||
subdivide_depth = 1
|
subdivide_depth = 1
|
||||||
@@ -809,7 +806,7 @@ mesh = SubResource("ArrayMesh_gia0o")
|
|||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="Circle" type="MeshInstance3D" parent="A1-Balcony"]
|
[node name="Circle" type="MeshInstance3D" parent="A1-Balcony"]
|
||||||
transform = Transform3D(-4.16688, 0, 0, 0, -4.16688, 0, 0, 0, -4.16688, -0.097109, 8.04889, -1.84557)
|
transform = Transform3D(-4.16688, 0, 0, 0, -4.16688, 0, 0, 0, -4.16688, -0.0971088, 8.04889, -1.84557)
|
||||||
mesh = SubResource("ArrayMesh_n0el2")
|
mesh = SubResource("ArrayMesh_n0el2")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
|
|
||||||
@@ -846,7 +843,6 @@ draw_pass_1 = SubResource("QuadMesh_sasor")
|
|||||||
|
|
||||||
[node name="Collision" type="Node3D" parent="."]
|
[node name="Collision" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
||||||
visible = false
|
|
||||||
|
|
||||||
[node name="StaticBody3D" type="StaticBody3D" parent="Collision"]
|
[node name="StaticBody3D" type="StaticBody3D" parent="Collision"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.5355, -69.5131, -79.2895)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.5355, -69.5131, -79.2895)
|
||||||
@@ -1017,7 +1013,6 @@ size = Vector3(2, 20, 12)
|
|||||||
|
|
||||||
[node name="Spawn Points" type="Node3D" parent="."]
|
[node name="Spawn Points" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
||||||
visible = false
|
|
||||||
|
|
||||||
[node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"]
|
[node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@@ -1042,7 +1037,6 @@ unique_name_in_owner = true
|
|||||||
|
|
||||||
[node name="Room" type="Node3D" parent="."]
|
[node name="Room" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2, 0)
|
||||||
visible = false
|
|
||||||
|
|
||||||
[node name="Room" type="Area3D" parent="Room"]
|
[node name="Room" type="Area3D" parent="Room"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@@ -1063,7 +1057,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.171951, -10.2003, -1.80546
|
|||||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.1785, 1.98844)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.1785, 1.98844)
|
||||||
visible = false
|
|
||||||
layers = 2
|
layers = 2
|
||||||
mesh = SubResource("PlaneMesh_f286s")
|
mesh = SubResource("PlaneMesh_f286s")
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_awhym")
|
surface_material_override/0 = SubResource("StandardMaterial3D_awhym")
|
||||||
|
|||||||
@@ -781,7 +781,7 @@ mesh = SubResource("PlaneMesh_owv6l")
|
|||||||
surface_material_override/0 = SubResource("StandardMaterial3D_ay4ur")
|
surface_material_override/0 = SubResource("StandardMaterial3D_ay4ur")
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.91044, 1.88644, -4.87515)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.91044, 3.88644, -4.87515)
|
||||||
light_color = Color(0.902303, 0.889942, 0.693891, 1)
|
light_color = Color(0.902303, 0.889942, 0.693891, 1)
|
||||||
light_energy = 5.049
|
light_energy = 5.049
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
|
|||||||
@@ -1013,21 +1013,21 @@ process_material = SubResource("ParticleProcessMaterial_s3puq")
|
|||||||
draw_pass_1 = SubResource("QuadMesh_fq8gy")
|
draw_pass_1 = SubResource("QuadMesh_fq8gy")
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.1624, 7.31366, -0.0442629)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.1624, 6.74928, -0.0442629)
|
||||||
light_energy = 5.0
|
light_energy = 5.0
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
omni_range = 22.064
|
omni_range = 22.064
|
||||||
omni_attenuation = 1.469
|
omni_attenuation = 1.469
|
||||||
|
|
||||||
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.716, 7.73823, -0.0442629)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.716, 7.17385, -0.0442629)
|
||||||
light_energy = 5.0
|
light_energy = 5.0
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
omni_range = 14.0
|
omni_range = 14.0
|
||||||
omni_attenuation = 1.5
|
omni_attenuation = 1.5
|
||||||
|
|
||||||
[node name="OmniLight3D3" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D3" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.18115, 7.73823, -0.0442629)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.18115, 7.17385, -0.0442629)
|
||||||
light_energy = 5.0
|
light_energy = 5.0
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
omni_range = 14.0
|
omni_range = 14.0
|
||||||
|
|||||||
@@ -1018,8 +1018,8 @@ process_material = SubResource("ParticleProcessMaterial_1p4ye")
|
|||||||
draw_pass_1 = SubResource("QuadMesh_s0dni")
|
draw_pass_1 = SubResource("QuadMesh_s0dni")
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.68808, 2.50541, 1.14748)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.68808, 5.1024, -0.181477)
|
||||||
light_energy = 3.174
|
light_energy = 3.174
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
omni_range = 7.805
|
omni_range = 9.46
|
||||||
omni_attenuation = 1.469
|
omni_attenuation = 1.469
|
||||||
|
|||||||
@@ -198,24 +198,24 @@ process_material = SubResource("ParticleProcessMaterial_s7fpw")
|
|||||||
draw_pass_1 = SubResource("QuadMesh_nopim")
|
draw_pass_1 = SubResource("QuadMesh_nopim")
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.2159, 6.1146, -0.382709)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.2159, 9.44069, -0.382709)
|
||||||
light_energy = 5.0
|
light_energy = 5.0
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
omni_range = 18.0
|
omni_range = 26.443
|
||||||
omni_attenuation = 1.781
|
omni_attenuation = 1.781
|
||||||
|
|
||||||
[node name="OmniLight3D3" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D3" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.86789, 6.1146, -0.382709)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.86789, 9.44069, -0.382709)
|
||||||
light_energy = 6.665
|
light_energy = 6.665
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
shadow_blur = 10.0
|
shadow_blur = 10.0
|
||||||
omni_range = 18.0
|
omni_range = 26.443
|
||||||
omni_attenuation = 1.781
|
omni_attenuation = 1.781
|
||||||
|
|
||||||
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.98437, 6.1146, -0.382709)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.98437, 9.44069, -0.382709)
|
||||||
light_energy = 6.48
|
light_energy = 6.48
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
shadow_blur = 10.0
|
shadow_blur = 10.0
|
||||||
omni_range = 18.0
|
omni_range = 26.443
|
||||||
omni_attenuation = 1.781
|
omni_attenuation = 1.781
|
||||||
|
|||||||
@@ -256,7 +256,6 @@ shape = SubResource("BoxShape3D_2nfuf")
|
|||||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
|
||||||
visible = false
|
|
||||||
layers = 2
|
layers = 2
|
||||||
mesh = SubResource("PlaneMesh_44h5a")
|
mesh = SubResource("PlaneMesh_44h5a")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
@@ -271,7 +270,7 @@ process_material = SubResource("ParticleProcessMaterial_iskcw")
|
|||||||
draw_pass_1 = SubResource("QuadMesh_0ydkh")
|
draw_pass_1 = SubResource("QuadMesh_0ydkh")
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.4526, 3.48991, 26.2586)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.4526, 4.83975, 26.2586)
|
||||||
light_color = Color(0.939964, 0.858607, 0.64025, 1)
|
light_color = Color(0.939964, 0.858607, 0.64025, 1)
|
||||||
light_energy = 4.956
|
light_energy = 4.956
|
||||||
light_specular = 0.0
|
light_specular = 0.0
|
||||||
@@ -280,7 +279,7 @@ omni_range = 20.0
|
|||||||
omni_attenuation = 1.231
|
omni_attenuation = 1.231
|
||||||
|
|
||||||
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.0944, 3.48784, 26.2237)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.0944, 4.97055, 26.2237)
|
||||||
light_color = Color(0.939964, 0.858607, 0.64025, 1)
|
light_color = Color(0.939964, 0.858607, 0.64025, 1)
|
||||||
light_energy = 4.956
|
light_energy = 4.956
|
||||||
light_specular = 0.0
|
light_specular = 0.0
|
||||||
@@ -316,7 +315,7 @@ omni_range = 20.0
|
|||||||
omni_attenuation = 1.231
|
omni_attenuation = 1.231
|
||||||
|
|
||||||
[node name="OmniLight3D4" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D4" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.0944, 3.48784, -24.361)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.0944, 5.00923, -24.361)
|
||||||
light_color = Color(0.939964, 0.858607, 0.64025, 1)
|
light_color = Color(0.939964, 0.858607, 0.64025, 1)
|
||||||
light_energy = 4.956
|
light_energy = 4.956
|
||||||
light_specular = 0.0
|
light_specular = 0.0
|
||||||
@@ -327,6 +326,7 @@ omni_attenuation = 1.231
|
|||||||
[node name="SpotLight3D" type="SpotLight3D" parent="."]
|
[node name="SpotLight3D" type="SpotLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 6, -10)
|
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 6, -10)
|
||||||
light_energy = 10.618
|
light_energy = 10.618
|
||||||
|
shadow_enabled = true
|
||||||
spot_range = 12.0
|
spot_range = 12.0
|
||||||
spot_attenuation = 0.65
|
spot_attenuation = 0.65
|
||||||
spot_angle = 38.9975
|
spot_angle = 38.9975
|
||||||
@@ -334,6 +334,7 @@ spot_angle = 38.9975
|
|||||||
[node name="SpotLight3D2" type="SpotLight3D" parent="."]
|
[node name="SpotLight3D2" type="SpotLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 7, 11)
|
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 7, 11)
|
||||||
light_energy = 10.618
|
light_energy = 10.618
|
||||||
|
shadow_enabled = true
|
||||||
spot_range = 12.0
|
spot_range = 12.0
|
||||||
spot_attenuation = 0.65
|
spot_attenuation = 0.65
|
||||||
spot_angle = 38.9975
|
spot_angle = 38.9975
|
||||||
@@ -348,10 +349,12 @@ size = Vector3(6, 5, 8)
|
|||||||
|
|
||||||
[node name="OmniLight3D7" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D7" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -10)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -10)
|
||||||
|
shadow_enabled = true
|
||||||
omni_range = 3.747
|
omni_range = 3.747
|
||||||
omni_attenuation = -0.85
|
omni_attenuation = -0.85
|
||||||
|
|
||||||
[node name="OmniLight3D8" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D8" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 10.1454)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 10.1454)
|
||||||
|
shadow_enabled = true
|
||||||
omni_range = 3.747
|
omni_range = 3.747
|
||||||
omni_attenuation = -0.85
|
omni_attenuation = -0.85
|
||||||
|
|||||||
@@ -1703,31 +1703,53 @@ process_material = SubResource("ParticleProcessMaterial_x03a5")
|
|||||||
draw_pass_1 = SubResource("QuadMesh_06lbc")
|
draw_pass_1 = SubResource("QuadMesh_06lbc")
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="Minimap"]
|
[node name="OmniLight3D" type="OmniLight3D" parent="Minimap"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.41476, 2.20402, 8.51936)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.41476, 2.94534, 8.58951)
|
||||||
light_energy = 5.0
|
light_energy = 1.743
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
|
shadow_blur = 3.948
|
||||||
omni_range = 14.948
|
omni_range = 14.948
|
||||||
|
|
||||||
[node name="OmniLight3D2" type="OmniLight3D" parent="Minimap"]
|
[node name="OmniLight3D" type="OmniLight3D" parent="Minimap/OmniLight3D"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.72707, 2.19548, -9.48356)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.96407, 2.43493, -5.06341)
|
||||||
light_energy = 5.0
|
light_color = Color(0.524667, 0.38, 1, 1)
|
||||||
|
light_energy = 3.312
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
|
omni_range = 6.06
|
||||||
|
omni_attenuation = 0.538
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="Minimap/OmniLight3D/OmniLight3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.01471, -2.22861, -3.78778)
|
||||||
|
light_color = Color(0, 0.633333, 1, 1)
|
||||||
|
light_energy = 8.306
|
||||||
|
shadow_enabled = true
|
||||||
|
omni_range = 6.672
|
||||||
|
omni_attenuation = 0.769
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="Minimap/OmniLight3D/OmniLight3D/OmniLight3D"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.21145, 1.02543, -2.81817)
|
||||||
|
light_color = Color(0, 0.88, 0.572, 1)
|
||||||
|
light_energy = 10.434
|
||||||
|
shadow_enabled = true
|
||||||
|
omni_range = 5.776
|
||||||
|
omni_attenuation = 0.306
|
||||||
|
|
||||||
|
[node name="OmniLight3D2" type="OmniLight3D" parent="Minimap"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.72707, 3.02174, -9.48356)
|
||||||
|
light_energy = 2.317
|
||||||
|
shadow_enabled = true
|
||||||
|
shadow_blur = 4.41
|
||||||
omni_range = 14.948
|
omni_range = 14.948
|
||||||
|
|
||||||
[node name="OmniLight3D4" type="OmniLight3D" parent="Minimap"]
|
[node name="OmniLight3D4" type="OmniLight3D" parent="Minimap"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.044, 1.95528, 5.23326)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.044, 3.00693, 5.23326)
|
||||||
light_energy = 5.0
|
light_energy = 5.0
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
omni_range = 14.948
|
shadow_blur = 2.965
|
||||||
|
omni_range = 12.94
|
||||||
|
|
||||||
[node name="OmniLight3D5" type="OmniLight3D" parent="Minimap"]
|
[node name="OmniLight3D5" type="OmniLight3D" parent="Minimap"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.5059, 1.89116, -4.60656)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.5059, 3.14913, -4.60656)
|
||||||
light_energy = 5.0
|
light_energy = 5.0
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
omni_range = 14.948
|
shadow_blur = 3.023
|
||||||
|
omni_range = 12.94
|
||||||
[node name="OmniLight3D3" type="OmniLight3D" parent="Minimap"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.78605, 9.43229, -0.0695076)
|
|
||||||
light_energy = 5.0
|
|
||||||
shadow_enabled = true
|
|
||||||
omni_range = 5.446
|
|
||||||
|
|||||||
@@ -177,14 +177,16 @@ process_material = SubResource("ParticleProcessMaterial_aviq7")
|
|||||||
draw_pass_1 = SubResource("QuadMesh_30nhy")
|
draw_pass_1 = SubResource("QuadMesh_30nhy")
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0240078, 2.08061, -0.0732279)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0240078, 2.86704, -0.0732279)
|
||||||
light_energy = 5.049
|
light_energy = 5.049
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
|
shadow_blur = 5.566
|
||||||
omni_range = 14.948
|
omni_range = 14.948
|
||||||
|
|
||||||
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.8771, 2.32407, -0.033761)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.8771, 2.32407, -0.033761)
|
||||||
light_energy = 1.812
|
light_energy = 1.812
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
|
shadow_blur = 5.566
|
||||||
omni_range = 15.684
|
omni_range = 15.684
|
||||||
omni_attenuation = 1.116
|
omni_attenuation = 1.116
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
[gd_scene load_steps=13 format=3 uid="uid://dadl2rua1ovhq"]
|
[gd_scene load_steps=17 format=3 uid="uid://dadl2rua1ovhq"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dhollu4j3pynq" path="res://src/map/dungeon/code/MonsterRoom.cs" id="2_rsrpd"]
|
[ext_resource type="Script" uid="uid://dhollu4j3pynq" path="res://src/map/dungeon/code/MonsterRoom.cs" id="2_rsrpd"]
|
||||||
[ext_resource type="PackedScene" uid="uid://0p07shc8wsja" path="res://src/map/dungeon/models/Area 2/Antechamber/A2-Antechamber.glb" id="2_v2k4g"]
|
[ext_resource type="PackedScene" uid="uid://0p07shc8wsja" path="res://src/map/dungeon/models/Area 2/Antechamber/A2-Antechamber.glb" id="2_v2k4g"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/assets/DUST_1.png" id="5_dirfg"]
|
||||||
[ext_resource type="Texture2D" uid="uid://ncu0fsnqyede" path="res://src/minimap/textures/Room Maps/mi_antechamber.png" id="7_qn47s"]
|
[ext_resource type="Texture2D" uid="uid://ncu0fsnqyede" path="res://src/minimap/textures/Room Maps/mi_antechamber.png" id="7_qn47s"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dvast710lxrmw" path="res://src/map/dungeon/door/A2_BLOCKED_DOOR.png" id="19_0qmwl"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="23_ocw1o"]
|
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="23_ocw1o"]
|
||||||
|
|
||||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_0qmwl"]
|
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_0qmwl"]
|
||||||
@@ -12,12 +12,6 @@ data = PackedVector3Array(34.7912, -0.0015, 13.9163, 34.7912, 13.9165, 27.8321,
|
|||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_dhety"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_dhety"]
|
||||||
size = Vector3(2.73511, 7.17236, 3.05108)
|
size = Vector3(2.73511, 7.17236, 3.05108)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dhety"]
|
|
||||||
albedo_texture = ExtResource("19_0qmwl")
|
|
||||||
texture_filter = 0
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hwsho"]
|
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_nuwng"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_nuwng"]
|
||||||
size = Vector3(20, 6, 16)
|
size = Vector3(20, 6, 16)
|
||||||
|
|
||||||
@@ -28,6 +22,53 @@ size = Vector2(20, 16)
|
|||||||
albedo_texture = ExtResource("7_qn47s")
|
albedo_texture = ExtResource("7_qn47s")
|
||||||
texture_filter = 0
|
texture_filter = 0
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_v2k4g"]
|
||||||
|
_limits = [-2.0, 2.0, 0.0, 1.0]
|
||||||
|
_data = [Vector2(0.00358423, 0.230769), 0.0, 0.0, 0, 0, Vector2(0.982079, -1.03846), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_dirfg"]
|
||||||
|
curve = SubResource("Curve_v2k4g")
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_qn47s"]
|
||||||
|
lifetime_randomness = 0.05
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(22.2, 22.505, 22)
|
||||||
|
angle_min = -245.3
|
||||||
|
angle_max = 417.9
|
||||||
|
orbit_velocity_min = -0.0269999
|
||||||
|
orbit_velocity_max = 0.0400001
|
||||||
|
orbit_velocity_curve = SubResource("CurveTexture_dirfg")
|
||||||
|
gravity = Vector3(0, -0.07, 0)
|
||||||
|
scale_min = 0.0
|
||||||
|
scale_max = 0.0
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_726dd"]
|
||||||
|
transparency = 1
|
||||||
|
cull_mode = 2
|
||||||
|
shading_mode = 0
|
||||||
|
albedo_color = Color(1, 1, 1, 0.0862745)
|
||||||
|
albedo_texture = ExtResource("5_dirfg")
|
||||||
|
billboard_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="QuadMesh" id="QuadMesh_63r54"]
|
||||||
|
material = SubResource("StandardMaterial3D_726dd")
|
||||||
|
size = Vector2(0.1, 0.1)
|
||||||
|
subdivide_width = 1
|
||||||
|
subdivide_depth = 1
|
||||||
|
|
||||||
|
[sub_resource type="Environment" id="Environment_726dd"]
|
||||||
|
background_mode = 1
|
||||||
|
background_color = Color(0.295867, 0.295866, 0.295866, 1)
|
||||||
|
sdfgi_enabled = true
|
||||||
|
glow_enabled = true
|
||||||
|
glow_intensity = 3.02
|
||||||
|
glow_strength = 0.98
|
||||||
|
glow_bloom = 1.0
|
||||||
|
fog_enabled = true
|
||||||
|
volumetric_fog_enabled = true
|
||||||
|
volumetric_fog_density = 0.02
|
||||||
|
|
||||||
[node name="Antechamber 3" type="Node3D"]
|
[node name="Antechamber 3" type="Node3D"]
|
||||||
script = ExtResource("2_rsrpd")
|
script = ExtResource("2_rsrpd")
|
||||||
|
|
||||||
@@ -62,40 +103,6 @@ shape = SubResource("BoxShape3D_dhety")
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.76738, 1.4514, 6.26201)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.76738, 1.4514, 6.26201)
|
||||||
shape = SubResource("BoxShape3D_dhety")
|
shape = SubResource("BoxShape3D_dhety")
|
||||||
|
|
||||||
[node name="Doors" type="Node3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.11434, 0)
|
|
||||||
|
|
||||||
[node name="CSGBox3D" type="CSGBox3D" parent="Doors"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0224749, 1.83591, -0.00639793)
|
|
||||||
visible = false
|
|
||||||
operation = 1
|
|
||||||
flip_faces = true
|
|
||||||
size = Vector3(20.0113, 8, 16.0328)
|
|
||||||
|
|
||||||
[node name="CSGBox2" type="CSGBox3D" parent="Doors"]
|
|
||||||
transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 4.043, 0.0355635, -7.91259)
|
|
||||||
use_collision = true
|
|
||||||
size = Vector3(4.05, 4.05, 0.01)
|
|
||||||
material = SubResource("StandardMaterial3D_dhety")
|
|
||||||
|
|
||||||
[node name="DOOR?1" type="CSGBox3D" parent="Doors/CSGBox2"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.400031, 0.065979, 0.0686455)
|
|
||||||
material_override = SubResource("StandardMaterial3D_hwsho")
|
|
||||||
operation = 2
|
|
||||||
size = Vector3(4.98703, 4.44788, 2)
|
|
||||||
|
|
||||||
[node name="CSGBox" type="CSGBox3D" parent="Doors"]
|
|
||||||
transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, -4.03649, 0.0119586, 8.01941)
|
|
||||||
use_collision = true
|
|
||||||
size = Vector3(4.05, 4.05, 0.01)
|
|
||||||
material = SubResource("StandardMaterial3D_dhety")
|
|
||||||
|
|
||||||
[node name="DOOR?1" type="CSGBox3D" parent="Doors/CSGBox"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0247293, 0.0278339, 0.0686455)
|
|
||||||
material_override = SubResource("StandardMaterial3D_hwsho")
|
|
||||||
operation = 2
|
|
||||||
size = Vector3(4.19556, 4.18787, 2)
|
|
||||||
|
|
||||||
[node name="Spawn Points" type="Node3D" parent="."]
|
[node name="Spawn Points" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.62099, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.62099, 0)
|
||||||
|
|
||||||
@@ -140,8 +147,25 @@ shape = SubResource("BoxShape3D_nuwng")
|
|||||||
|
|
||||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.524475, 0)
|
|
||||||
layers = 2
|
layers = 2
|
||||||
mesh = SubResource("PlaneMesh_63r54")
|
mesh = SubResource("PlaneMesh_63r54")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_e02pa")
|
surface_material_override/0 = SubResource("StandardMaterial3D_e02pa")
|
||||||
|
|
||||||
|
[node name="GPUParticles3D2" type="GPUParticles3D" parent="."]
|
||||||
|
transform = Transform3D(0.459, 0, 0, 0, 0.197, 0, 0, 0, 0.407, 0.361126, 4.14917, -0.438256)
|
||||||
|
amount = 20
|
||||||
|
lifetime = 41.19
|
||||||
|
local_coords = true
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_qn47s")
|
||||||
|
draw_pass_1 = SubResource("QuadMesh_63r54")
|
||||||
|
|
||||||
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||||
|
environment = SubResource("Environment_726dd")
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.288392, 7.66531, -0.0836668)
|
||||||
|
light_energy = 4.5
|
||||||
|
shadow_enabled = true
|
||||||
|
shadow_blur = 1.24
|
||||||
|
omni_range = 13.0
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1,9 +1,9 @@
|
|||||||
[gd_scene load_steps=14 format=3 uid="uid://cq82tqhlshn1k"]
|
[gd_scene load_steps=19 format=3 uid="uid://cq82tqhlshn1k"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dhollu4j3pynq" path="res://src/map/dungeon/code/MonsterRoom.cs" id="2_7fo8x"]
|
[ext_resource type="Script" uid="uid://dhollu4j3pynq" path="res://src/map/dungeon/code/MonsterRoom.cs" id="2_7fo8x"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dycfeab5r3s1w" path="res://src/map/dungeon/models/Area 2/Pit/A2-Pit.glb" id="2_ycerh"]
|
[ext_resource type="PackedScene" uid="uid://dycfeab5r3s1w" path="res://src/map/dungeon/models/Area 2/Pit/A2-Pit.glb" id="2_ycerh"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/assets/DUST_1.png" id="5_6mfs2"]
|
||||||
[ext_resource type="Texture2D" uid="uid://psqcaww3ufpx" path="res://src/minimap/textures/Room Maps/mi_pit_room.png" id="6_xpqkd"]
|
[ext_resource type="Texture2D" uid="uid://psqcaww3ufpx" path="res://src/minimap/textures/Room Maps/mi_pit_room.png" id="6_xpqkd"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dvast710lxrmw" path="res://src/map/dungeon/door/A2_BLOCKED_DOOR.png" id="17_exoe5"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="19_y4v80"]
|
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="19_y4v80"]
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4f64f"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4f64f"]
|
||||||
@@ -20,10 +20,6 @@ data = PackedVector3Array(-0.9985, 0.3627, -0.6691, -0.9985, 0.6961, -1.0024, -0
|
|||||||
height = 12.0
|
height = 12.0
|
||||||
radius = 2.0
|
radius = 2.0
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2xv0l"]
|
|
||||||
albedo_texture = ExtResource("17_exoe5")
|
|
||||||
texture_filter = 0
|
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_d346t"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_d346t"]
|
||||||
size = Vector3(36, 6, 36)
|
size = Vector3(36, 6, 36)
|
||||||
|
|
||||||
@@ -34,6 +30,44 @@ size = Vector2(36, 36)
|
|||||||
albedo_texture = ExtResource("6_xpqkd")
|
albedo_texture = ExtResource("6_xpqkd")
|
||||||
texture_filter = 0
|
texture_filter = 0
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_ycerh"]
|
||||||
|
_limits = [-2.0, 2.0, 0.0, 1.0]
|
||||||
|
_data = [Vector2(0.00358423, 0.230769), 0.0, 0.0, 0, 0, Vector2(0.982079, -1.03846), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_xpqkd"]
|
||||||
|
curve = SubResource("Curve_ycerh")
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_x0sr3"]
|
||||||
|
lifetime_randomness = 0.05
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(22.2, 22.505, 22)
|
||||||
|
angle_min = -245.3
|
||||||
|
angle_max = 417.9
|
||||||
|
orbit_velocity_min = -0.0269999
|
||||||
|
orbit_velocity_max = 0.0400001
|
||||||
|
orbit_velocity_curve = SubResource("CurveTexture_xpqkd")
|
||||||
|
gravity = Vector3(0, -0.07, 0)
|
||||||
|
scale_min = 0.0
|
||||||
|
scale_max = 0.0
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4aqt8"]
|
||||||
|
transparency = 1
|
||||||
|
cull_mode = 2
|
||||||
|
shading_mode = 0
|
||||||
|
albedo_color = Color(1, 1, 1, 0.0862745)
|
||||||
|
albedo_texture = ExtResource("5_6mfs2")
|
||||||
|
billboard_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="QuadMesh" id="QuadMesh_bom1w"]
|
||||||
|
material = SubResource("StandardMaterial3D_4aqt8")
|
||||||
|
size = Vector2(0.1, 0.1)
|
||||||
|
subdivide_width = 1
|
||||||
|
subdivide_depth = 1
|
||||||
|
|
||||||
|
[sub_resource type="FogMaterial" id="FogMaterial_qjo7v"]
|
||||||
|
density = 1.5486
|
||||||
|
|
||||||
[node name="Pit Room B" type="Node3D"]
|
[node name="Pit Room B" type="Node3D"]
|
||||||
script = ExtResource("2_7fo8x")
|
script = ExtResource("2_7fo8x")
|
||||||
|
|
||||||
@@ -41,6 +75,7 @@ script = ExtResource("2_7fo8x")
|
|||||||
|
|
||||||
[node name="Collision" type="Node3D" parent="."]
|
[node name="Collision" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
||||||
|
visible = false
|
||||||
|
|
||||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Collision"]
|
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Collision"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.051639, -0.480896, -0.013773)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.051639, -0.480896, -0.013773)
|
||||||
@@ -106,59 +141,6 @@ shape = SubResource("CylinderShape3D_uo0xi")
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.99243, 73.283, 133.365)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.99243, 73.283, 133.365)
|
||||||
shape = SubResource("CylinderShape3D_uo0xi")
|
shape = SubResource("CylinderShape3D_uo0xi")
|
||||||
|
|
||||||
[node name="Doors" type="Node3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.25569, 0)
|
|
||||||
|
|
||||||
[node name="CSGBox3D" type="CSGBox3D" parent="Doors"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0496787, 4.31423, -0.329679)
|
|
||||||
visible = false
|
|
||||||
operation = 1
|
|
||||||
size = Vector3(36, 12, 35.4266)
|
|
||||||
|
|
||||||
[node name="CSGBox2" type="CSGBox3D" parent="Doors"]
|
|
||||||
transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0.0660033, 0.0621085, 17.8854)
|
|
||||||
use_collision = true
|
|
||||||
size = Vector3(4.05, 4.05, 0.01)
|
|
||||||
material = SubResource("StandardMaterial3D_2xv0l")
|
|
||||||
|
|
||||||
[node name="DOOR?" type="CSGBox3D" parent="Doors/CSGBox2"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0249815, -0.0408936, 0.612764)
|
|
||||||
operation = 2
|
|
||||||
size = Vector3(4.19995, 4.33325, 2)
|
|
||||||
|
|
||||||
[node name="CSGBox3" type="CSGBox3D" parent="Doors"]
|
|
||||||
transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0.0660033, 0.0178824, -17.9531)
|
|
||||||
use_collision = true
|
|
||||||
size = Vector3(4.05, 4.05, 0.01)
|
|
||||||
material = SubResource("StandardMaterial3D_2xv0l")
|
|
||||||
|
|
||||||
[node name="DOOR?" type="CSGBox3D" parent="Doors/CSGBox3"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0208922, 0.0557782, -0.305267)
|
|
||||||
operation = 2
|
|
||||||
size = Vector3(4.30115, 4.12695, 1.27979)
|
|
||||||
|
|
||||||
[node name="CSGBox4" type="CSGBox3D" parent="Doors"]
|
|
||||||
transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, 17.9379, -0.0712214, 0.0194186)
|
|
||||||
use_collision = true
|
|
||||||
size = Vector3(4.05, 4.05, 0.01)
|
|
||||||
material = SubResource("StandardMaterial3D_2xv0l")
|
|
||||||
|
|
||||||
[node name="DOOR?" type="CSGBox3D" parent="Doors/CSGBox4"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0216799, -0.0299683, 0.550755)
|
|
||||||
operation = 2
|
|
||||||
size = Vector3(4.28522, 4.33264, 2)
|
|
||||||
|
|
||||||
[node name="CSGBox5" type="CSGBox3D" parent="Doors"]
|
|
||||||
transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, -17.8995, 0.0140357, 0.0194186)
|
|
||||||
use_collision = true
|
|
||||||
size = Vector3(4.05, 4.05, 0.01)
|
|
||||||
material = SubResource("StandardMaterial3D_2xv0l")
|
|
||||||
|
|
||||||
[node name="DOOR?" type="CSGBox3D" parent="Doors/CSGBox5"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0323915, 0.0638427, 0.0474663)
|
|
||||||
operation = 2
|
|
||||||
size = Vector3(4.31909, 4.34351, 0.881348)
|
|
||||||
|
|
||||||
[node name="Spawn Points" type="Node3D" parent="."]
|
[node name="Spawn Points" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.82181, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.82181, 0)
|
||||||
|
|
||||||
@@ -206,10 +188,33 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.04566, -10.6408, -1.19209e-
|
|||||||
shape = SubResource("BoxShape3D_d346t")
|
shape = SubResource("BoxShape3D_d346t")
|
||||||
|
|
||||||
[node name="Minimap" type="Node3D" parent="."]
|
[node name="Minimap" type="Node3D" parent="."]
|
||||||
|
visible = false
|
||||||
|
|
||||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00409305, -0.480896, 0.025076)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.004, 0, 0.025)
|
||||||
mesh = SubResource("PlaneMesh_x0sr3")
|
mesh = SubResource("PlaneMesh_x0sr3")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_pqndw")
|
surface_material_override/0 = SubResource("StandardMaterial3D_pqndw")
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.288392, 3.74148, -0.0836668)
|
||||||
|
light_energy = 4.5
|
||||||
|
shadow_enabled = true
|
||||||
|
shadow_blur = 3.428
|
||||||
|
omni_range = 13.64
|
||||||
|
omni_attenuation = 0.769
|
||||||
|
|
||||||
|
[node name="GPUParticles3D2" type="GPUParticles3D" parent="."]
|
||||||
|
transform = Transform3D(0.879, 0, 0, 0, 0.407, 0, 0, 0, 0.832, 0.649518, 7.89065, -0.521923)
|
||||||
|
amount = 20
|
||||||
|
lifetime = 41.19
|
||||||
|
local_coords = true
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_x0sr3")
|
||||||
|
draw_pass_1 = SubResource("QuadMesh_bom1w")
|
||||||
|
|
||||||
|
[node name="FogVolume" type="FogVolume" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.106932, 9.40369, -0.564365)
|
||||||
|
size = Vector3(6.32806, 2.79297, 5.94653)
|
||||||
|
shape = 2
|
||||||
|
material = SubResource("FogMaterial_qjo7v")
|
||||||
|
|||||||
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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,8 +1,9 @@
|
|||||||
[gd_scene load_steps=18 format=3 uid="uid://b8tiuu3l181ke"]
|
[gd_scene load_steps=24 format=3 uid="uid://b8tiuu3l181ke"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://xahptbyj5wfn" path="res://src/map/dungeon/models/Area 2/Longroom/A2-Longroom.glb" id="2_kp5lh"]
|
[ext_resource type="PackedScene" uid="uid://xahptbyj5wfn" path="res://src/map/dungeon/models/Area 2/Longroom/A2-Longroom.glb" id="2_kp5lh"]
|
||||||
[ext_resource type="Script" uid="uid://dhollu4j3pynq" path="res://src/map/dungeon/code/MonsterRoom.cs" id="2_oayuk"]
|
[ext_resource type="Script" uid="uid://dhollu4j3pynq" path="res://src/map/dungeon/code/MonsterRoom.cs" id="2_oayuk"]
|
||||||
[ext_resource type="Texture2D" uid="uid://deggm1f2vn0et" path="res://src/minimap/textures/Room Maps/mi_long_room.png" id="7_7b6f1"]
|
[ext_resource type="Texture2D" uid="uid://b8q6l0tl2383a" path="res://src/minimap/textures/Room Maps/mi_long_rooma2.png" id="5_erovx"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/assets/DUST_1.png" id="6_7i5m1"]
|
||||||
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="15_wjalf"]
|
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="15_wjalf"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dvast710lxrmw" path="res://src/map/dungeon/door/A2_BLOCKED_DOOR.png" id="19_xb78s"]
|
[ext_resource type="Texture2D" uid="uid://dvast710lxrmw" path="res://src/map/dungeon/door/A2_BLOCKED_DOOR.png" id="19_xb78s"]
|
||||||
|
|
||||||
@@ -41,9 +42,44 @@ size = Vector2(48, 28)
|
|||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yrga2"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yrga2"]
|
||||||
transparency = 1
|
transparency = 1
|
||||||
albedo_texture = ExtResource("7_7b6f1")
|
albedo_texture = ExtResource("5_erovx")
|
||||||
texture_filter = 0
|
texture_filter = 0
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_kp5lh"]
|
||||||
|
_limits = [-2.0, 2.0, 0.0, 1.0]
|
||||||
|
_data = [Vector2(0.00358423, 0.230769), 0.0, 0.0, 0, 0, Vector2(0.982079, -1.03846), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_rum6r"]
|
||||||
|
curve = SubResource("Curve_kp5lh")
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_7b6f1"]
|
||||||
|
lifetime_randomness = 0.05
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(22.2, 22.505, 22)
|
||||||
|
angle_min = -245.3
|
||||||
|
angle_max = 417.9
|
||||||
|
orbit_velocity_min = -0.0269999
|
||||||
|
orbit_velocity_max = 0.0400001
|
||||||
|
orbit_velocity_curve = SubResource("CurveTexture_rum6r")
|
||||||
|
gravity = Vector3(0, -0.07, 0)
|
||||||
|
scale_min = 0.0
|
||||||
|
scale_max = 0.0
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_aejdd"]
|
||||||
|
transparency = 1
|
||||||
|
cull_mode = 2
|
||||||
|
shading_mode = 0
|
||||||
|
albedo_color = Color(1, 1, 1, 0.0862745)
|
||||||
|
albedo_texture = ExtResource("6_7i5m1")
|
||||||
|
billboard_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="QuadMesh" id="QuadMesh_0nke0"]
|
||||||
|
material = SubResource("StandardMaterial3D_aejdd")
|
||||||
|
size = Vector2(0.1, 0.1)
|
||||||
|
subdivide_width = 1
|
||||||
|
subdivide_depth = 1
|
||||||
|
|
||||||
[node name="Long Room B" type="Node3D"]
|
[node name="Long Room B" type="Node3D"]
|
||||||
script = ExtResource("2_oayuk")
|
script = ExtResource("2_oayuk")
|
||||||
|
|
||||||
@@ -240,8 +276,38 @@ shape = SubResource("BoxShape3D_w5a3p")
|
|||||||
|
|
||||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.0419, 0)
|
|
||||||
layers = 2
|
layers = 2
|
||||||
mesh = SubResource("PlaneMesh_0nke0")
|
mesh = SubResource("PlaneMesh_0nke0")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_yrga2")
|
surface_material_override/0 = SubResource("StandardMaterial3D_yrga2")
|
||||||
|
|
||||||
|
[node name="GPUParticles3D2" type="GPUParticles3D" parent="."]
|
||||||
|
transform = Transform3D(1.084, 0, 0, 0, 0.257, 0, 0, 0, 0.682, 0.688172, 4.22838, 0.00214195)
|
||||||
|
amount = 20
|
||||||
|
lifetime = 41.19
|
||||||
|
local_coords = true
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_7b6f1")
|
||||||
|
draw_pass_1 = SubResource("QuadMesh_0nke0")
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.2159, 5.26953, -0.382709)
|
||||||
|
light_energy = 5.0
|
||||||
|
shadow_enabled = true
|
||||||
|
omni_range = 26.443
|
||||||
|
omni_attenuation = 1.781
|
||||||
|
|
||||||
|
[node name="OmniLight3D3" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.86789, 5.26953, -0.382709)
|
||||||
|
light_energy = 6.665
|
||||||
|
shadow_enabled = true
|
||||||
|
shadow_blur = 10.0
|
||||||
|
omni_range = 26.443
|
||||||
|
omni_attenuation = 1.781
|
||||||
|
|
||||||
|
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.98437, 5.26953, -0.382709)
|
||||||
|
light_energy = 6.48
|
||||||
|
shadow_enabled = true
|
||||||
|
shadow_blur = 10.0
|
||||||
|
omni_range = 26.443
|
||||||
|
omni_attenuation = 1.781
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
[gd_scene load_steps=13 format=3 uid="uid://5cstpejxygy6"]
|
[gd_scene load_steps=19 format=3 uid="uid://5cstpejxygy6"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dhollu4j3pynq" path="res://src/map/dungeon/code/MonsterRoom.cs" id="2_i2lux"]
|
[ext_resource type="Script" uid="uid://dhollu4j3pynq" path="res://src/map/dungeon/code/MonsterRoom.cs" id="2_i2lux"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bglktekocmksl" path="res://src/map/dungeon/models/Area 2/CircleColumn/A2-CircleColumn.glb" id="2_nqsfp"]
|
[ext_resource type="PackedScene" uid="uid://bglktekocmksl" path="res://src/map/dungeon/models/Area 2/CircleColumn/A2-CircleColumn.glb" id="2_nqsfp"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/assets/DUST_1.png" id="6_vfp5g"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bo32lieutx4fr" path="res://src/minimap/textures/Room Maps/mi_column_circle.png" id="7_be25c"]
|
[ext_resource type="Texture2D" uid="uid://bo32lieutx4fr" path="res://src/minimap/textures/Room Maps/mi_column_circle.png" id="7_be25c"]
|
||||||
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="15_28m48"]
|
[ext_resource type="PackedScene" uid="uid://twrj4wixcbu7" path="res://src/items/ItemDatabase.tscn" id="15_28m48"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dvast710lxrmw" path="res://src/map/dungeon/door/A2_BLOCKED_DOOR.png" id="19_p6lr6"]
|
[ext_resource type="Texture2D" uid="uid://dvast710lxrmw" path="res://src/map/dungeon/door/A2_BLOCKED_DOOR.png" id="19_p6lr6"]
|
||||||
@@ -29,6 +30,41 @@ transparency = 1
|
|||||||
albedo_texture = ExtResource("7_be25c")
|
albedo_texture = ExtResource("7_be25c")
|
||||||
texture_filter = 0
|
texture_filter = 0
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_nqsfp"]
|
||||||
|
_limits = [-2.0, 2.0, 0.0, 1.0]
|
||||||
|
_data = [Vector2(0.00358423, 0.230769), 0.0, 0.0, 0, 0, Vector2(0.982079, -1.03846), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_be25c"]
|
||||||
|
curve = SubResource("Curve_nqsfp")
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_6drtk"]
|
||||||
|
lifetime_randomness = 0.05
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(22.2, 22.505, 22)
|
||||||
|
angle_min = -245.3
|
||||||
|
angle_max = 417.9
|
||||||
|
orbit_velocity_min = -0.0269999
|
||||||
|
orbit_velocity_max = 0.0400001
|
||||||
|
orbit_velocity_curve = SubResource("CurveTexture_be25c")
|
||||||
|
gravity = Vector3(0, -0.07, 0)
|
||||||
|
scale_min = 0.0
|
||||||
|
scale_max = 0.0
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5a2sq"]
|
||||||
|
transparency = 1
|
||||||
|
cull_mode = 2
|
||||||
|
shading_mode = 0
|
||||||
|
albedo_color = Color(1, 1, 1, 0.0862745)
|
||||||
|
albedo_texture = ExtResource("6_vfp5g")
|
||||||
|
billboard_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="QuadMesh" id="QuadMesh_oelme"]
|
||||||
|
material = SubResource("StandardMaterial3D_5a2sq")
|
||||||
|
size = Vector2(0.1, 0.1)
|
||||||
|
subdivide_width = 1
|
||||||
|
subdivide_depth = 1
|
||||||
|
|
||||||
[node name="Column Circle Room" type="Node3D"]
|
[node name="Column Circle Room" type="Node3D"]
|
||||||
script = ExtResource("2_i2lux")
|
script = ExtResource("2_i2lux")
|
||||||
|
|
||||||
@@ -203,8 +239,31 @@ shape = SubResource("BoxShape3D_6sers")
|
|||||||
|
|
||||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.524475, 0)
|
|
||||||
layers = 2
|
layers = 2
|
||||||
mesh = SubResource("PlaneMesh_6drtk")
|
mesh = SubResource("PlaneMesh_6drtk")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_ixa6b")
|
surface_material_override/0 = SubResource("StandardMaterial3D_ixa6b")
|
||||||
|
|
||||||
|
[node name="GPUParticles3D2" type="GPUParticles3D" parent="."]
|
||||||
|
transform = Transform3D(0.499, 0, 0, 0, 0.307, 0, 0, 0, 0.507, 0.281, 6.094, -0.438)
|
||||||
|
amount = 20
|
||||||
|
lifetime = 41.19
|
||||||
|
local_coords = true
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_6drtk")
|
||||||
|
draw_pass_1 = SubResource("QuadMesh_oelme")
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.082139, 4.86582, -0.0836668)
|
||||||
|
light_energy = 4.5
|
||||||
|
shadow_enabled = true
|
||||||
|
shadow_blur = 0.373
|
||||||
|
omni_range = 13.0
|
||||||
|
|
||||||
|
[node name="FogVolume" type="FogVolume" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.279114, 11.441, -0.138376)
|
||||||
|
size = Vector3(20.0836, 8.33643, 19.1257)
|
||||||
|
|
||||||
|
[node name="FogVolume" type="FogVolume" parent="FogVolume"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.353651, -5.22283, 0.0979897)
|
||||||
|
size = Vector3(3.38, 2.69, 3.08)
|
||||||
|
shape = 2
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,7 +1,8 @@
|
|||||||
[gd_scene load_steps=17 format=3 uid="uid://cuau7xgx3rkxu"]
|
[gd_scene load_steps=24 format=3 uid="uid://cuau7xgx3rkxu"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://bccyfmj8ikewh" path="res://src/map/dungeon/code/SpecialRoom.cs" id="1_w3a78"]
|
[ext_resource type="Script" uid="uid://bccyfmj8ikewh" path="res://src/map/dungeon/code/SpecialRoom.cs" id="1_w3a78"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dekf66gxvufrt" path="res://src/map/dungeon/models/Area 2/Proscenium/A2-Proscenium.glb" id="2_vbs5p"]
|
[ext_resource type="PackedScene" uid="uid://dekf66gxvufrt" path="res://src/map/dungeon/models/Area 2/Proscenium/A2-Proscenium.glb" id="2_vbs5p"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/assets/DUST_1.png" id="5_wpyu0"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dvast710lxrmw" path="res://src/map/dungeon/door/A2_BLOCKED_DOOR.png" id="24_wjhqq"]
|
[ext_resource type="Texture2D" uid="uid://dvast710lxrmw" path="res://src/map/dungeon/door/A2_BLOCKED_DOOR.png" id="24_wjhqq"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bhsoehmr37aws" path="res://src/npc/Proscenium/Proscenium.tscn" id="32_t4lrk"]
|
[ext_resource type="PackedScene" uid="uid://bhsoehmr37aws" path="res://src/npc/Proscenium/Proscenium.tscn" id="32_t4lrk"]
|
||||||
|
|
||||||
@@ -42,14 +43,52 @@ texture_filter = 0
|
|||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_nu4bg"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_nu4bg"]
|
||||||
size = Vector3(36, 6, 28)
|
size = Vector3(36, 6, 28)
|
||||||
|
|
||||||
|
[sub_resource type="PlaneMesh" id="PlaneMesh_w3a78"]
|
||||||
|
size = Vector2(36, 28)
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_vbs5p"]
|
||||||
|
_limits = [-2.0, 2.0, 0.0, 1.0]
|
||||||
|
_data = [Vector2(0.00358423, 0.230769), 0.0, 0.0, 0, 0, Vector2(0.982079, -1.03846), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_dirfg"]
|
||||||
|
curve = SubResource("Curve_vbs5p")
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_vwwuc"]
|
||||||
|
lifetime_randomness = 0.05
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(22.2, 22.505, 22)
|
||||||
|
angle_min = -245.3
|
||||||
|
angle_max = 417.9
|
||||||
|
orbit_velocity_min = -0.0269999
|
||||||
|
orbit_velocity_max = 0.0400001
|
||||||
|
orbit_velocity_curve = SubResource("CurveTexture_dirfg")
|
||||||
|
gravity = Vector3(0, -0.07, 0)
|
||||||
|
scale_min = 0.0
|
||||||
|
scale_max = 0.0
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_726dd"]
|
||||||
|
transparency = 1
|
||||||
|
cull_mode = 2
|
||||||
|
shading_mode = 0
|
||||||
|
albedo_color = Color(1, 1, 1, 0.0862745)
|
||||||
|
albedo_texture = ExtResource("5_wpyu0")
|
||||||
|
billboard_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="QuadMesh" id="QuadMesh_386pt"]
|
||||||
|
material = SubResource("StandardMaterial3D_726dd")
|
||||||
|
size = Vector2(0.1, 0.1)
|
||||||
|
subdivide_width = 1
|
||||||
|
subdivide_depth = 1
|
||||||
|
|
||||||
[node name="Proscenium\'s Room" type="Node3D"]
|
[node name="Proscenium\'s Room" type="Node3D"]
|
||||||
script = ExtResource("1_w3a78")
|
script = ExtResource("1_w3a78")
|
||||||
|
|
||||||
[node name="A2-Proscenium" parent="." instance=ExtResource("2_vbs5p")]
|
[node name="A2-Proscenium" parent="." instance=ExtResource("2_vbs5p")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.494374, 0)
|
|
||||||
|
|
||||||
[node name="Collision" type="Node3D" parent="."]
|
[node name="Collision" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.32238, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.32238, 0)
|
||||||
|
visible = false
|
||||||
|
|
||||||
[node name="StaticBody3D" type="StaticBody3D" parent="Collision"]
|
[node name="StaticBody3D" type="StaticBody3D" parent="Collision"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.301441, 2.71136, -0.0148315)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.301441, 2.71136, -0.0148315)
|
||||||
@@ -167,9 +206,10 @@ shape = SubResource("BoxShape3D_nu4bg")
|
|||||||
|
|
||||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
mesh = SubResource("PlaneMesh_w3a78")
|
||||||
|
|
||||||
[node name="NPC" type="Node3D" parent="."]
|
[node name="NPC" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.21583, 2.60919, 0)
|
transform = Transform3D(0.535, 0, 0, 0, 0.535, 0, 0, 0, 0.535, 1.27456, 1.75386, 0)
|
||||||
|
|
||||||
[node name="Proscenium" parent="NPC" instance=ExtResource("32_t4lrk")]
|
[node name="Proscenium" parent="NPC" instance=ExtResource("32_t4lrk")]
|
||||||
transform = Transform3D(-5.24537e-08, 0, 1.2, 0, 1.2, 0, -1.2, 0, -5.24537e-08, 8.65444, 1.80024, -0.184306)
|
transform = Transform3D(-5.24537e-08, 0, 1.2, 0, 1.2, 0, -1.2, 0, -5.24537e-08, 8.65444, 1.80024, -0.184306)
|
||||||
@@ -195,4 +235,20 @@ visible = false
|
|||||||
[node name="CollisionShape3D" parent="NPC/Proscenium/Hitbox" index="0"]
|
[node name="CollisionShape3D" parent="NPC/Proscenium/Hitbox" index="0"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
|
[node name="GPUParticles3D2" type="GPUParticles3D" parent="."]
|
||||||
|
transform = Transform3D(0.854, 0, 0, 0, 0.502, 0, 0, 0, 0.672, 0.361126, 4.14917, -0.438256)
|
||||||
|
amount = 20
|
||||||
|
lifetime = 41.19
|
||||||
|
local_coords = true
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_vwwuc")
|
||||||
|
draw_pass_1 = SubResource("QuadMesh_386pt")
|
||||||
|
|
||||||
|
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.38779, 4.05302, -0.0836668)
|
||||||
|
light_energy = 3.012
|
||||||
|
shadow_enabled = true
|
||||||
|
shadow_blur = 1.24
|
||||||
|
omni_range = 7.66
|
||||||
|
omni_attenuation = 0.19
|
||||||
|
|
||||||
[editable path="NPC/Proscenium"]
|
[editable path="NPC/Proscenium"]
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1,9 +1,10 @@
|
|||||||
[gd_scene load_steps=17 format=3 uid="uid://02v033xrh6xi"]
|
[gd_scene load_steps=67 format=3 uid="uid://02v033xrh6xi"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://bd824eigybu51" path="res://src/map/dungeon/code/ExitRoom.cs" id="2_7o05s"]
|
[ext_resource type="Script" uid="uid://bd824eigybu51" path="res://src/map/dungeon/code/ExitRoom.cs" id="2_7o05s"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bpihpjlg5mcq" path="res://src/map/dungeon/models/Area 2/Exit/A2-Exit.glb" id="2_d13sj"]
|
[ext_resource type="PackedScene" uid="uid://bpihpjlg5mcq" path="res://src/map/dungeon/models/Area 2/Exit/A2-Exit.glb" id="2_d13sj"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/assets/DUST_1.png" id="4_kx0t3"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://b7kj1pxt7wx1g" path="res://src/vfx/World/BLUE_FLAME.png" id="5_pmpee"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dw8vvn66qqfj2" path="res://src/minimap/textures/Room Maps/mi_exit.png" id="7_vsgtq"]
|
[ext_resource type="Texture2D" uid="uid://dw8vvn66qqfj2" path="res://src/minimap/textures/Room Maps/mi_exit.png" id="7_vsgtq"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dvast710lxrmw" path="res://src/map/dungeon/door/A2_BLOCKED_DOOR.png" id="21_7o05s"]
|
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_umdkt"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_umdkt"]
|
||||||
size = Vector3(0.391602, 21, 37)
|
size = Vector3(0.391602, 21, 37)
|
||||||
@@ -21,14 +22,6 @@ radius = 1.40381
|
|||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_bracd"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_bracd"]
|
||||||
size = Vector3(1.31396, 11.3767, 3.75488)
|
size = Vector3(1.31396, 11.3767, 3.75488)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_51rrf"]
|
|
||||||
albedo_texture = ExtResource("21_7o05s")
|
|
||||||
texture_filter = 0
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_alrge"]
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_x3ul8"]
|
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_7o05s"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_7o05s"]
|
||||||
size = Vector3(20, 20, 36)
|
size = Vector3(20, 20, 36)
|
||||||
|
|
||||||
@@ -43,6 +36,454 @@ transparency = 1
|
|||||||
albedo_texture = ExtResource("7_vsgtq")
|
albedo_texture = ExtResource("7_vsgtq")
|
||||||
texture_filter = 0
|
texture_filter = 0
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_d13sj"]
|
||||||
|
_limits = [-2.0, 2.0, 0.0, 1.0]
|
||||||
|
_data = [Vector2(0.00358423, 0.230769), 0.0, 0.0, 0, 0, Vector2(0.982079, -1.03846), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_xbcfg"]
|
||||||
|
curve = SubResource("Curve_d13sj")
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_vsgtq"]
|
||||||
|
lifetime_randomness = 0.05
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(22.2, 22.505, 22)
|
||||||
|
angle_min = -245.3
|
||||||
|
angle_max = 417.9
|
||||||
|
orbit_velocity_min = -0.0269999
|
||||||
|
orbit_velocity_max = 0.0400001
|
||||||
|
orbit_velocity_curve = SubResource("CurveTexture_xbcfg")
|
||||||
|
gravity = Vector3(0, -0.07, 0)
|
||||||
|
scale_min = 0.0
|
||||||
|
scale_max = 0.0
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ecy5p"]
|
||||||
|
transparency = 1
|
||||||
|
cull_mode = 2
|
||||||
|
shading_mode = 0
|
||||||
|
albedo_color = Color(1, 1, 1, 0.0862745)
|
||||||
|
albedo_texture = ExtResource("4_kx0t3")
|
||||||
|
billboard_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="QuadMesh" id="QuadMesh_fnbln"]
|
||||||
|
material = SubResource("StandardMaterial3D_ecy5p")
|
||||||
|
size = Vector2(0.1, 0.1)
|
||||||
|
subdivide_width = 1
|
||||||
|
subdivide_depth = 1
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_fa0yd"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(1024, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_xvxtm"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(1536, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_yckbp"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(2048, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_k3wb6"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(2560, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_lvx8f"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(3072, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_5jf3f"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(3584, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_yaek2"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(4096, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_m7ked"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(4608, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_tgauh"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(5120, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_23ip1"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(5632, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_xwq6u"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(6144, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_dvh5e"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(6656, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_oryp2"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(7168, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_vnvpj"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(7680, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_huh6d"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(8192, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_vwdtx"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(8704, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_wj4rl"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(9216, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ufqel"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(9728, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_gm2xs"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(10240, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_6qdtc"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(10752, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_7doc0"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(11264, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_bastv"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(11776, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_7wx2a"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(12288, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_2oybq"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(12800, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ajic6"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(13312, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_york4"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(13824, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_en15j"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(14336, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_18mqb"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(14848, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_2fevs"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(15360, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_r4nju"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(15872, 0, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_fia20"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(0, 502, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_nhfcs"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(512, 502, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_8btat"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(1024, 502, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_62cid"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(1536, 502, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_f43j4"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(2048, 502, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_8almt"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(2560, 502, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_8nqox"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(3072, 502, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_7fvd3"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(3584, 502, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_44yh0"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(4096, 502, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_76xwn"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(4608, 502, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_wep0j"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(5120, 502, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_i6qdo"]
|
||||||
|
atlas = ExtResource("5_pmpee")
|
||||||
|
region = Rect2(5632, 502, 512, 502)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_chrua"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fa0yd")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_xvxtm")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_yckbp")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_k3wb6")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_lvx8f")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_5jf3f")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_yaek2")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_m7ked")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_tgauh")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_23ip1")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_xwq6u")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_dvh5e")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_oryp2")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_vnvpj")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_huh6d")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_vwdtx")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_wj4rl")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ufqel")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_gm2xs")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_6qdtc")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_7doc0")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_bastv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_7wx2a")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_2oybq")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ajic6")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_york4")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_en15j")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_18mqb")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_2fevs")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_r4nju")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fia20")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_nhfcs")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_8btat")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_62cid")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_f43j4")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_8almt")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_8nqox")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_7fvd3")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_44yh0")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_76xwn")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_wep0j")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_i6qdo")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 16.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_k6ywg"]
|
||||||
|
resource_name = "Flame Flicker"
|
||||||
|
length = 2.62501
|
||||||
|
loop_mode = 1
|
||||||
|
step = 0.0625
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 2.5625),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0, 41]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("../AnimatedSprite3D2:frame")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 2.5625),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0, 41]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("../OmniLight3D:light_energy")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1, 1.125, 1.25, 1.375, 1.5, 1.625, 1.75, 1.875, 2, 2.125, 2.25, 2.375, 2.5),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [6.436, 6.0, 6.9, 5.6, 6.2, 5.5, 6.0, 6.436, 6.0, 6.9, 5.6, 6.2, 5.5, 6.0, 6.436, 6.0, 6.9, 5.6, 6.2, 5.5, 6.0]
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("../OmniLight3D2:light_energy")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1, 1.125, 1.25, 1.375, 1.5, 1.625, 1.75, 1.875, 2, 2.125, 2.25, 2.375, 2.5),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [6.436, 6.0, 6.9, 5.6, 6.2, 5.5, 6.0, 6.436, 6.0, 6.9, 5.6, 6.2, 5.5, 6.0, 6.436, 6.0, 6.9, 5.6, 6.2, 5.5, 6.0]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_54fgm"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("../AnimatedSprite3D2:frame")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("../OmniLight3D:light_energy")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [6.436]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ljhl3"]
|
||||||
|
_data = {
|
||||||
|
&"Flame Flicker": SubResource("Animation_k6ywg"),
|
||||||
|
&"RESET": SubResource("Animation_54fgm")
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Environment" id="Environment_nka2x"]
|
||||||
|
background_mode = 1
|
||||||
|
background_color = Color(0.295867, 0.295866, 0.295866, 1)
|
||||||
|
sdfgi_enabled = true
|
||||||
|
glow_enabled = true
|
||||||
|
glow_intensity = 3.02
|
||||||
|
glow_strength = 0.98
|
||||||
|
glow_bloom = 1.0
|
||||||
|
fog_enabled = true
|
||||||
|
volumetric_fog_enabled = true
|
||||||
|
volumetric_fog_density = 0.02
|
||||||
|
|
||||||
[node name="Floor Exit B" type="Node3D"]
|
[node name="Floor Exit B" type="Node3D"]
|
||||||
script = ExtResource("2_7o05s")
|
script = ExtResource("2_7o05s")
|
||||||
|
|
||||||
@@ -90,29 +531,6 @@ shape = SubResource("BoxShape3D_bracd")
|
|||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.99862, -5.18835, 9.61777)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.99862, -5.18835, 9.61777)
|
||||||
shape = SubResource("BoxShape3D_bracd")
|
shape = SubResource("BoxShape3D_bracd")
|
||||||
|
|
||||||
[node name="Doors" type="Node3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.27408, -2.796)
|
|
||||||
|
|
||||||
[node name="CSGBox3D" type="CSGBox3D" parent="Doors"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0314088, 4.23029, -0.0385468)
|
|
||||||
visible = false
|
|
||||||
operation = 1
|
|
||||||
flip_faces = true
|
|
||||||
size = Vector3(20, 10, 16)
|
|
||||||
|
|
||||||
[node name="CSGBox2" type="CSGBox3D" parent="Doors"]
|
|
||||||
transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, -0.209171, 0.0366807, 17.9545)
|
|
||||||
use_collision = true
|
|
||||||
size = Vector3(4, 4, 0.01)
|
|
||||||
material = SubResource("StandardMaterial3D_51rrf")
|
|
||||||
|
|
||||||
[node name="DOOR" type="CSGBox3D" parent="Doors/CSGBox2"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.396216, 0.0720215, -0.104668)
|
|
||||||
material_override = SubResource("StandardMaterial3D_alrge")
|
|
||||||
operation = 2
|
|
||||||
size = Vector3(5.19281, 4.49561, 2)
|
|
||||||
material = SubResource("StandardMaterial3D_x3ul8")
|
|
||||||
|
|
||||||
[node name="Spawn Points" type="Node3D" parent="."]
|
[node name="Spawn Points" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.93856, 9.80872)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.93856, 9.80872)
|
||||||
|
|
||||||
@@ -144,10 +562,66 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00295544, 1.56831, 4.23168)
|
|||||||
shape = SubResource("BoxShape3D_wu8s2")
|
shape = SubResource("BoxShape3D_wu8s2")
|
||||||
|
|
||||||
[node name="Minimap" type="Node3D" parent="."]
|
[node name="Minimap" type="Node3D" parent="."]
|
||||||
|
visible = false
|
||||||
|
|
||||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, -1.36053, -1.81937)
|
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, -1.819)
|
||||||
mesh = SubResource("PlaneMesh_fnbln")
|
mesh = SubResource("PlaneMesh_fnbln")
|
||||||
skeleton = NodePath("")
|
skeleton = NodePath("")
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_chrua")
|
surface_material_override/0 = SubResource("StandardMaterial3D_chrua")
|
||||||
|
|
||||||
|
[node name="GPUParticles3D2" type="GPUParticles3D" parent="."]
|
||||||
|
transform = Transform3D(0.464, 0, 0, 0, 0.227, 0, 0, 0, 0.462, 10.4639, 4.40841, 7.92556)
|
||||||
|
amount = 20
|
||||||
|
lifetime = 41.19
|
||||||
|
local_coords = true
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_vsgtq")
|
||||||
|
draw_pass_1 = SubResource("QuadMesh_fnbln")
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.86203, 4.919, 0.443518)
|
||||||
|
light_energy = 6.436
|
||||||
|
shadow_enabled = true
|
||||||
|
shadow_blur = 10.0
|
||||||
|
omni_range = 20.929
|
||||||
|
omni_attenuation = 1.346
|
||||||
|
|
||||||
|
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.09453, 4.919, 0.443518)
|
||||||
|
light_energy = 6.69992
|
||||||
|
shadow_enabled = true
|
||||||
|
shadow_blur = 10.0
|
||||||
|
omni_range = 20.929
|
||||||
|
omni_attenuation = 1.346
|
||||||
|
|
||||||
|
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
|
||||||
|
transform = Transform3D(0.615, 0, 0, 0, 0.445, 0, 0, 0, 0.445, -8.06807, 5.73564, 0.45137)
|
||||||
|
billboard = 2
|
||||||
|
sprite_frames = SubResource("SpriteFrames_chrua")
|
||||||
|
autoplay = "default"
|
||||||
|
|
||||||
|
[node name="AnimatedSprite3D2" type="AnimatedSprite3D" parent="."]
|
||||||
|
transform = Transform3D(0.615, 0, 0, 0, 0.445, 0, 0, 0, 0.445, 7.74296, 5.70896, 0.45137)
|
||||||
|
billboard = 2
|
||||||
|
sprite_frames = SubResource("SpriteFrames_chrua")
|
||||||
|
autoplay = "default"
|
||||||
|
|
||||||
|
[node name="OmniLight3D3" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 13.623, -5.91127)
|
||||||
|
light_energy = 4.7
|
||||||
|
omni_range = 14.399
|
||||||
|
|
||||||
|
[node name="FogVolume" type="FogVolume" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.482666, 20.6513, -16.0869)
|
||||||
|
size = Vector3(30.7642, 10.3584, 24.915)
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
root_node = NodePath("../AnimatedSprite3D")
|
||||||
|
libraries = {
|
||||||
|
&"": SubResource("AnimationLibrary_ljhl3")
|
||||||
|
}
|
||||||
|
autoplay = "Flame Flicker"
|
||||||
|
|
||||||
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||||
|
environment = SubResource("Environment_nka2x")
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
[gd_scene load_steps=14 format=3 uid="uid://dqppy7sj8pial"]
|
[gd_scene load_steps=20 format=3 uid="uid://dqppy7sj8pial"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bb1cwg2xq5exh" path="res://src/map/dungeon/models/Area 2/Gesthemii/A2-Gesthemii.glb" id="2_bh4f4"]
|
[ext_resource type="PackedScene" uid="uid://bb1cwg2xq5exh" path="res://src/map/dungeon/models/Area 2/Gesthemii/A2-Gesthemii.glb" id="2_bh4f4"]
|
||||||
[ext_resource type="Script" uid="uid://dhollu4j3pynq" path="res://src/map/dungeon/code/MonsterRoom.cs" id="2_kprvd"]
|
[ext_resource type="Script" uid="uid://dhollu4j3pynq" path="res://src/map/dungeon/code/MonsterRoom.cs" id="2_kprvd"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dien6vkw71nya" path="res://src/minimap/textures/Room Maps/mi_gesthemi_room.png" id="6_hawfc"]
|
[ext_resource type="Texture2D" uid="uid://dien6vkw71nya" path="res://src/minimap/textures/Room Maps/mi_gesthemi_room.png" id="6_hawfc"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/assets/DUST_1.png" id="6_yiuxf"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bxybc56hq0566" path="res://src/npc/Gesthesemii/Gesthemii2.tscn" id="10_trgx2"]
|
[ext_resource type="PackedScene" uid="uid://bxybc56hq0566" path="res://src/npc/Gesthesemii/Gesthemii2.tscn" id="10_trgx2"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dvast710lxrmw" path="res://src/map/dungeon/door/A2_BLOCKED_DOOR.png" id="23_djym4"]
|
[ext_resource type="Texture2D" uid="uid://dvast710lxrmw" path="res://src/map/dungeon/door/A2_BLOCKED_DOOR.png" id="23_djym4"]
|
||||||
|
|
||||||
@@ -30,6 +31,41 @@ transparency = 1
|
|||||||
albedo_texture = ExtResource("6_hawfc")
|
albedo_texture = ExtResource("6_hawfc")
|
||||||
texture_filter = 0
|
texture_filter = 0
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_bh4f4"]
|
||||||
|
_limits = [-2.0, 2.0, 0.0, 1.0]
|
||||||
|
_data = [Vector2(0.00358423, 0.230769), 0.0, 0.0, 0, 0, Vector2(0.982079, -1.03846), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_acc61"]
|
||||||
|
curve = SubResource("Curve_bh4f4")
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_hawfc"]
|
||||||
|
lifetime_randomness = 0.05
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(22.2, 22.505, 22)
|
||||||
|
angle_min = -245.3
|
||||||
|
angle_max = 417.9
|
||||||
|
orbit_velocity_min = -0.0269999
|
||||||
|
orbit_velocity_max = 0.0400001
|
||||||
|
orbit_velocity_curve = SubResource("CurveTexture_acc61")
|
||||||
|
gravity = Vector3(0, -0.07, 0)
|
||||||
|
scale_min = 0.0
|
||||||
|
scale_max = 0.0
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5b7ch"]
|
||||||
|
transparency = 1
|
||||||
|
cull_mode = 2
|
||||||
|
shading_mode = 0
|
||||||
|
albedo_color = Color(1, 1, 1, 0.0862745)
|
||||||
|
albedo_texture = ExtResource("6_yiuxf")
|
||||||
|
billboard_mode = 2
|
||||||
|
|
||||||
|
[sub_resource type="QuadMesh" id="QuadMesh_61va6"]
|
||||||
|
material = SubResource("StandardMaterial3D_5b7ch")
|
||||||
|
size = Vector2(0.1, 0.1)
|
||||||
|
subdivide_width = 1
|
||||||
|
subdivide_depth = 1
|
||||||
|
|
||||||
[node name="GesthemiisRoom" type="Node3D"]
|
[node name="GesthemiisRoom" type="Node3D"]
|
||||||
script = ExtResource("2_kprvd")
|
script = ExtResource("2_kprvd")
|
||||||
|
|
||||||
@@ -41,7 +77,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0.604996)
|
|||||||
[node name="StaticBody3D" type="StaticBody3D" parent="Collision"]
|
[node name="StaticBody3D" type="StaticBody3D" parent="Collision"]
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collision/StaticBody3D"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collision/StaticBody3D"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.62428, -0.96248, 2.08093)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.26095, -0.96248, 2.08093)
|
||||||
shape = SubResource("BoxShape3D_gwfk4")
|
shape = SubResource("BoxShape3D_gwfk4")
|
||||||
|
|
||||||
[node name="StaticBody3D2" type="StaticBody3D" parent="Collision"]
|
[node name="StaticBody3D2" type="StaticBody3D" parent="Collision"]
|
||||||
@@ -111,3 +147,32 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.569493, 2.38497, 1.51063)
|
|||||||
|
|
||||||
[node name="Gesthemii2" parent="NPC" instance=ExtResource("10_trgx2")]
|
[node name="Gesthemii2" parent="NPC" instance=ExtResource("10_trgx2")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0431279, -0.710172, 2.12679)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0431279, -0.710172, 2.12679)
|
||||||
|
|
||||||
|
[node name="GPUParticles3D2" type="GPUParticles3D" parent="."]
|
||||||
|
transform = Transform3D(0.884, 0, 0, 0, 0.142, 0, 0, 0, 0.512, 0.111471, 2.97166, -0.291562)
|
||||||
|
amount = 20
|
||||||
|
lifetime = 41.19
|
||||||
|
local_coords = true
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_hawfc")
|
||||||
|
draw_pass_1 = SubResource("QuadMesh_61va6")
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.114901, 3.12703, 0.918317)
|
||||||
|
light_color = Color(0.930926, 0.916068, 0.913116, 1)
|
||||||
|
light_energy = 1.848
|
||||||
|
omni_range = 11.263
|
||||||
|
omni_attenuation = 0.573
|
||||||
|
|
||||||
|
[node name="OmniLight3D3" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.2922, 2.2254, -3.78773)
|
||||||
|
light_color = Color(0.930926, 0.916068, 0.913116, 1)
|
||||||
|
light_energy = 0.5
|
||||||
|
omni_range = 8.044
|
||||||
|
omni_attenuation = 0.573
|
||||||
|
|
||||||
|
[node name="OmniLight3D4" type="OmniLight3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.4843, 2.2254, -3.78773)
|
||||||
|
light_color = Color(0.930926, 0.916068, 0.913116, 1)
|
||||||
|
light_energy = 0.5
|
||||||
|
omni_range = 8.044
|
||||||
|
omni_attenuation = 0.573
|
||||||
|
|||||||
@@ -1,63 +0,0 @@
|
|||||||
shader_type particles;
|
|
||||||
|
|
||||||
//this defines how far out the particles will spawn
|
|
||||||
uniform float particle_diameter = 5.0f;
|
|
||||||
|
|
||||||
|
|
||||||
//input a value that changes over time and can also be a coordinate
|
|
||||||
//use vec(TIME,0) if you got no coordinates
|
|
||||||
float rand(vec2 co){
|
|
||||||
//this will give a pseudorandom value between 0-1
|
|
||||||
return fract(sin(dot(co.xy ,vec2(23.21,101.83))) * 34759.214);
|
|
||||||
}
|
|
||||||
|
|
||||||
void vertex(){
|
|
||||||
//this sets all the stuff necesary
|
|
||||||
//spawn them in a given radius around the emmitor
|
|
||||||
|
|
||||||
|
|
||||||
//set the position to be randomly dispersed in an area
|
|
||||||
float x_modifier = (rand(vec2(TIME,0))*particle_diameter);
|
|
||||||
float z_modifier = (rand(vec2(TIME+1f,0))*particle_diameter);
|
|
||||||
|
|
||||||
//centers effect
|
|
||||||
TRANSFORM[3][0] = x_modifier - 0.5f*particle_diameter;
|
|
||||||
TRANSFORM[3][2] = z_modifier- 0.5f*particle_diameter;
|
|
||||||
|
|
||||||
|
|
||||||
//VELOCITY.y = -rand(vec2(TIME+2f,0));
|
|
||||||
VELOCITY.y = -1f;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//apply a changing wind that changes with time with a noticable variation
|
|
||||||
VELOCITY.x = 3f*sin(TIME/4f)*sin(TIME)*rand(vec2(float(INDEX),0f));
|
|
||||||
VELOCITY.z = 3f*cos(TIME/4f)*cos(TIME)*rand(vec2(float(INDEX)+1f,0f));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//gives a consistent rotation that depends on the index
|
|
||||||
float x_rotation = TIME*rand(vec2(float(INDEX),0f));
|
|
||||||
float y_rotation = TIME*rand(vec2(float(INDEX)+1f,0f));
|
|
||||||
float z_rotation = TIME*rand(vec2(float(INDEX)+2f,0f));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//these just rotate the leaf using matrix math
|
|
||||||
//x rotation
|
|
||||||
TRANSFORM[1][1] = cos(x_rotation);
|
|
||||||
TRANSFORM[2][1] = -sin(x_rotation);
|
|
||||||
TRANSFORM[1][2] = sin(x_rotation);
|
|
||||||
TRANSFORM[2][2] = cos(x_rotation);
|
|
||||||
//y rotation
|
|
||||||
TRANSFORM[0][0] = cos(y_rotation);
|
|
||||||
TRANSFORM[2][0] = -sin(y_rotation);
|
|
||||||
TRANSFORM[0][2] = sin(y_rotation);
|
|
||||||
TRANSFORM[2][2] = cos(y_rotation);
|
|
||||||
//z rotation
|
|
||||||
TRANSFORM[0][0] = cos(z_rotation);
|
|
||||||
TRANSFORM[1][0] = -sin(z_rotation);
|
|
||||||
TRANSFORM[0][1] = sin(z_rotation);
|
|
||||||
TRANSFORM[1][1] = cos(z_rotation);
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,46 +1,83 @@
|
|||||||
shader_type spatial;
|
shader_type spatial;
|
||||||
render_mode diffuse_burley, specular_schlick_ggx, blend_mix;
|
|
||||||
|
|
||||||
group_uniforms albedo;
|
uniform float Emission_Power = 1.0;
|
||||||
uniform vec4 albedo : source_color = vec4(1.0, 1.0, 1.0, 0.0);
|
uniform vec3 Color:source_color;
|
||||||
uniform sampler2D albedo_texture : source_color, hint_default_white;
|
|
||||||
|
|
||||||
group_uniforms roughness;
|
group_uniforms Fresnel;
|
||||||
uniform float roughness : hint_range(0.0, 1.0) = 0.15;
|
uniform sampler2D Fresnel_Noise_Texture:source_color;
|
||||||
uniform sampler2D roughness_texture : hint_roughness_r;
|
uniform vec3 Fresnel_Color : source_color;
|
||||||
|
uniform float Fresnel_Power : hint_range(0.1, 10.0) = 3.0;
|
||||||
|
|
||||||
group_uniforms normal;
|
group_uniforms Lines_Alpha;
|
||||||
uniform float normal_strength : hint_range(-16.0, 16.0) = 1.0;
|
uniform sampler2D Line_Texture:source_color;
|
||||||
uniform sampler2D normal_map : hint_normal;
|
uniform float Repetitions = 2.0;
|
||||||
|
uniform float Speed = 1.0;
|
||||||
|
|
||||||
group_uniforms misc;
|
group_uniforms Alpha_Fade;
|
||||||
uniform vec4 edge_color : source_color = vec4(0.0, 0.0, 0.0, 1.0);
|
uniform sampler2D Fade_Texture:source_color;
|
||||||
|
uniform float Fade_Offset = 0.0;
|
||||||
|
uniform float Fade_Scale = 1.0;
|
||||||
|
|
||||||
|
group_uniforms Lines_Color;
|
||||||
|
uniform sampler2D Color_Line_Texture:source_color;
|
||||||
|
uniform float Color_Line_Repetitions = 2.0;
|
||||||
|
uniform float Color_Line_Speed = 1.0;
|
||||||
|
|
||||||
|
group_uniforms Vertex_Shift;
|
||||||
|
uniform sampler2D Vertex_Shift_Texture:source_color;
|
||||||
|
uniform float Vertex_Shift_Repetitions = 2.0;
|
||||||
|
uniform float Vertex_Shift_Speed = 1.0;
|
||||||
|
uniform float Shift_Power = 0.2;
|
||||||
|
uniform float Shift_X_Mult = 1.0;
|
||||||
|
uniform float Shift_Z_Mult = 1.0;
|
||||||
|
|
||||||
|
|
||||||
|
varying vec3 Wave_WorldCoords;
|
||||||
|
void vertex() {
|
||||||
|
|
||||||
|
Wave_WorldCoords = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
|
||||||
|
|
||||||
|
vec2 uv = UV;
|
||||||
|
uv.y = Wave_WorldCoords.y;
|
||||||
|
uv.y = fract(uv.y * Vertex_Shift_Repetitions);
|
||||||
|
uv.y += fract(TIME * -Vertex_Shift_Speed);
|
||||||
|
float shift = texture(Vertex_Shift_Texture, uv).r * Shift_Power;
|
||||||
|
|
||||||
|
VERTEX.x += shift * Shift_X_Mult;
|
||||||
|
VERTEX.z += shift * Shift_Z_Mult;
|
||||||
|
|
||||||
float SchlickFresnel(float u) {
|
|
||||||
float m = 1.0 - u;
|
|
||||||
float m2 = m * m;
|
|
||||||
return m2 * m2 * m;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void fragment() {
|
void fragment() {
|
||||||
// calculate fresnel values
|
float Fresnel = pow(1.0 - dot(NORMAL, VIEW), Fresnel_Power);
|
||||||
float VdotN = dot(VIEW, NORMAL);
|
float Noise_Value = texture(Fresnel_Noise_Texture,UV).r;
|
||||||
float fresnel = clamp(SchlickFresnel(VdotN), 0.0, 1.0);
|
float Noise_Fresnel = Fresnel * Noise_Value;
|
||||||
|
|
||||||
// sample and mix textures
|
vec3 Final_Color = mix(Color,Fresnel_Color,Noise_Fresnel);
|
||||||
vec4 _albedo = texture(albedo_texture, UV) * albedo;
|
|
||||||
float _roughness = texture(roughness_texture, UV).r * roughness;
|
|
||||||
|
|
||||||
// apply glass look
|
|
||||||
float a = mix(0.001, 1.0, _albedo.a);
|
|
||||||
ALPHA = mix(fresnel * edge_color.a, 1.0, a);
|
|
||||||
ALBEDO = mix(edge_color.rgb * edge_color.a, _albedo.rgb, a);
|
|
||||||
|
|
||||||
ROUGHNESS = _roughness;
|
vec2 uv = UV;
|
||||||
NORMAL_MAP = texture(normal_map, UV).xyz;
|
uv.y = Wave_WorldCoords.y;
|
||||||
NORMAL_MAP_DEPTH = normal_strength;
|
uv.y = fract(uv.y * Repetitions);
|
||||||
|
uv.y += fract(TIME * -Speed);
|
||||||
|
float Line_Alpha = texture(Line_Texture,uv).a;
|
||||||
|
|
||||||
|
|
||||||
|
vec2 uv2 = UV;
|
||||||
|
uv2.y = Wave_WorldCoords.y;
|
||||||
|
uv2.y = fract(uv2.y * Color_Line_Repetitions);
|
||||||
|
uv2.y += fract(TIME * -Color_Line_Speed);
|
||||||
|
vec3 Line_Color = texture(Color_Line_Texture,uv2).rgb;
|
||||||
|
|
||||||
|
Final_Color += Line_Color;
|
||||||
|
|
||||||
|
|
||||||
|
vec2 uv3 = UV;
|
||||||
|
uv3.y = (Wave_WorldCoords.y + Fade_Offset) * Fade_Scale;
|
||||||
|
float Fade_Value = texture(Fade_Texture,uv3).a;
|
||||||
|
|
||||||
|
ALBEDO = Final_Color;
|
||||||
|
EMISSION = Final_Color * Emission_Power;
|
||||||
|
ALPHA = Line_Alpha * Fade_Value;
|
||||||
|
|
||||||
// function to compensate specular for alpha blend
|
|
||||||
// 0.5 * ALPHA^-0.5
|
|
||||||
SPECULAR = 0.5 * inversesqrt(ALPHA);
|
|
||||||
}
|
}
|
||||||
BIN
Zennysoft.Game.Ma/src/minimap/textures/Room Maps/mi_2ante.png
Normal file
BIN
Zennysoft.Game.Ma/src/minimap/textures/Room Maps/mi_2ante.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 315 B |
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://jk0ysk54nrpc"
|
||||||
|
path="res://.godot/imported/mi_2ante.png-400cb1b24a28aad80646a412ff159e7f.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/minimap/textures/Room Maps/mi_2ante.png"
|
||||||
|
dest_files=["res://.godot/imported/mi_2ante.png-400cb1b24a28aad80646a412ff159e7f.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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: 421 B |
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b8q6l0tl2383a"
|
||||||
|
path="res://.godot/imported/mi_long_rooma2.png-5f41e14c46c3ef3094438fb0df113fa6.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/minimap/textures/Room Maps/mi_long_rooma2.png"
|
||||||
|
dest_files=["res://.godot/imported/mi_long_rooma2.png-5f41e14c46c3ef3094438fb0df113fa6.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=15 format=3 uid="uid://b6a0erl0euhgq"]
|
[gd_scene load_steps=18 format=3 uid="uid://b6a0erl0euhgq"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://dcqssoikr3pl7" path="res://src/npc/Npc.cs" id="1_5qwnr"]
|
[ext_resource type="Script" uid="uid://dcqssoikr3pl7" path="res://src/npc/Npc.cs" id="1_5qwnr"]
|
||||||
[ext_resource type="Resource" uid="uid://lao0opxww3ib" path="res://src/dialog/Dialogue.dialogue" id="2_j753f"]
|
[ext_resource type="Resource" uid="uid://lao0opxww3ib" path="res://src/dialog/Dialogue.dialogue" id="2_j753f"]
|
||||||
@@ -11,6 +11,59 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://bd7ppby0qecc2" path="res://src/npc/Puer/Frames - Puer/PUER7.png" id="9_tujwi"]
|
[ext_resource type="Texture2D" uid="uid://bd7ppby0qecc2" path="res://src/npc/Puer/Frames - Puer/PUER7.png" id="9_tujwi"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cmf3kho87qrss" path="res://src/npc/Puer/Frames - Puer/PUER8.png" id="10_1bgq4"]
|
[ext_resource type="Texture2D" uid="uid://cmf3kho87qrss" path="res://src/npc/Puer/Frames - Puer/PUER8.png" id="10_1bgq4"]
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_tty5x"]
|
||||||
|
resource_name = "Idle"
|
||||||
|
length = 3.00002
|
||||||
|
loop_mode = 1
|
||||||
|
step = 0.2
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("AnimatedSprite3D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 1.4, 1.6, 3),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0, 7, 0, 7]
|
||||||
|
}
|
||||||
|
tracks/1/type = "position_3d"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("AnimatedSprite3D")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1.6, 1, 0, 0.15, 0, 3, 1, 0, 0, 0)
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_vbqit"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("AnimatedSprite3D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0]
|
||||||
|
}
|
||||||
|
tracks/1/type = "position_3d"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("AnimatedSprite3D")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = PackedFloat32Array(0, 1, 0, 0, 0)
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_moxl4"]
|
||||||
|
_data = {
|
||||||
|
&"Idle": SubResource("Animation_tty5x"),
|
||||||
|
&"RESET": SubResource("Animation_vbqit")
|
||||||
|
}
|
||||||
|
|
||||||
[sub_resource type="SpriteFrames" id="SpriteFrames_7w2s0"]
|
[sub_resource type="SpriteFrames" id="SpriteFrames_7w2s0"]
|
||||||
animations = [{
|
animations = [{
|
||||||
"frames": [{
|
"frames": [{
|
||||||
@@ -58,9 +111,15 @@ radius = 1.941
|
|||||||
script = ExtResource("1_5qwnr")
|
script = ExtResource("1_5qwnr")
|
||||||
Dialogue = ExtResource("2_j753f")
|
Dialogue = ExtResource("2_j753f")
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
libraries = {
|
||||||
|
&"": SubResource("AnimationLibrary_moxl4")
|
||||||
|
}
|
||||||
|
autoplay = "Idle"
|
||||||
|
|
||||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
|
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
|
||||||
|
billboard = 2
|
||||||
sprite_frames = SubResource("SpriteFrames_7w2s0")
|
sprite_frames = SubResource("SpriteFrames_7w2s0")
|
||||||
frame_progress = 0.105423
|
|
||||||
|
|
||||||
[node name="DialogueZone" type="Area3D" parent="."]
|
[node name="DialogueZone" type="Area3D" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
|||||||
@@ -254,9 +254,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
|
|||||||
gi_mode = 0
|
gi_mode = 0
|
||||||
pixel_size = 0.02
|
pixel_size = 0.02
|
||||||
billboard = 2
|
billboard = 2
|
||||||
shaded = true
|
|
||||||
double_sided = false
|
double_sided = false
|
||||||
alpha_cut = 2
|
alpha_cut = 3
|
||||||
texture_filter = 1
|
texture_filter = 1
|
||||||
texture = SubResource("ViewportTexture_3udpp")
|
texture = SubResource("ViewportTexture_3udpp")
|
||||||
|
|
||||||
|
|||||||
@@ -96,555 +96,555 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<ISaveChunk<Play
|
|||||||
#region Initialization
|
#region Initialization
|
||||||
public void InitializePlayerState()
|
public void InitializePlayerState()
|
||||||
{
|
{
|
||||||
Inventory = new Inventory();
|
Inventory = new Inventory();
|
||||||
Stats = InitializePlayerStats();
|
Stats = InitializePlayerStats();
|
||||||
SetProcessInput(false);
|
SetProcessInput(false);
|
||||||
SetPhysicsProcess(false);
|
SetPhysicsProcess(false);
|
||||||
|
|
||||||
EquippedWeapon.Changed += EquippedWeapon_Sync;
|
EquippedWeapon.Changed += EquippedWeapon_Sync;
|
||||||
EquippedArmor.Changed += EquippedArmor_Sync;
|
EquippedArmor.Changed += EquippedArmor_Sync;
|
||||||
EquippedAccessory.Changed += EquippedAccessory_Sync;
|
EquippedAccessory.Changed += EquippedAccessory_Sync;
|
||||||
Stats.CurrentHP.Changed += CurrentHP_Sync;
|
Stats.CurrentHP.Changed += CurrentHP_Sync;
|
||||||
Stats.CurrentExp.Changed += CurrentEXP_Sync;
|
Stats.CurrentExp.Changed += CurrentEXP_Sync;
|
||||||
HealthTimer.WaitTime = _healthTimerWaitTime;
|
HealthTimer.WaitTime = _healthTimerWaitTime;
|
||||||
HealthTimer.Timeout += OnHealthTimerTimeout;
|
HealthTimer.Timeout += OnHealthTimerTimeout;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Setup()
|
public void Setup()
|
||||||
{
|
{
|
||||||
var container = new SimpleInjector.Container();
|
var container = new SimpleInjector.Container();
|
||||||
container.Register<IPlayerLogic, PlayerLogic>(Lifestyle.Singleton);
|
container.Register<IPlayerLogic, PlayerLogic>(Lifestyle.Singleton);
|
||||||
//container.Verify();
|
//container.Verify();
|
||||||
|
|
||||||
PlayerLogic = container.GetInstance<IPlayerLogic>();
|
PlayerLogic = container.GetInstance<IPlayerLogic>();
|
||||||
PlayerLogic.Set(this as IPlayer);
|
PlayerLogic.Set(this as IPlayer);
|
||||||
PlayerLogic.Set(Settings);
|
PlayerLogic.Set(Settings);
|
||||||
PlayerLogic.Set(Stats);
|
PlayerLogic.Set(Stats);
|
||||||
PlayerLogic.Set(_gameRepo);
|
PlayerLogic.Set(_gameRepo);
|
||||||
|
|
||||||
_damageCalculator = new DamageCalculator();
|
_damageCalculator = new DamageCalculator();
|
||||||
|
|
||||||
Hitbox.AreaEntered += Hitbox_AreaEntered;
|
Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||||
CollisionDetector.AreaEntered += CollisionDetector_AreaEntered;
|
CollisionDetector.AreaEntered += CollisionDetector_AreaEntered;
|
||||||
AnimationPlayer.AnimationFinished += OnAnimationFinished;
|
AnimationPlayer.AnimationFinished += OnAnimationFinished;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnResolved()
|
public void OnResolved()
|
||||||
{
|
{
|
||||||
Settings = new PlayerLogic.Settings() { RotationSpeed = _playerStatResource.RotationSpeed, MoveSpeed = _playerStatResource.MoveSpeed, Acceleration = _playerStatResource.Acceleration };
|
Settings = new PlayerLogic.Settings() { RotationSpeed = _playerStatResource.RotationSpeed, MoveSpeed = _playerStatResource.MoveSpeed, Acceleration = _playerStatResource.Acceleration };
|
||||||
|
|
||||||
PlayerChunk = new SaveChunk<PlayerData>(
|
PlayerChunk = new SaveChunk<PlayerData>(
|
||||||
onSave: (chunk) => new PlayerData()
|
onSave: (chunk) => new PlayerData()
|
||||||
{
|
{
|
||||||
PlayerStats = Stats,
|
PlayerStats = Stats,
|
||||||
Inventory = Inventory
|
Inventory = Inventory
|
||||||
},
|
},
|
||||||
onLoad: (chunk, data) =>
|
onLoad: (chunk, data) =>
|
||||||
{
|
{
|
||||||
Stats = new PlayerStats(
|
Stats = new PlayerStats(
|
||||||
data.PlayerStats.CurrentHP,
|
data.PlayerStats.CurrentHP,
|
||||||
data.PlayerStats.MaximumHP,
|
data.PlayerStats.MaximumHP,
|
||||||
data.PlayerStats.CurrentVT,
|
data.PlayerStats.CurrentVT,
|
||||||
data.PlayerStats.MaximumVT,
|
data.PlayerStats.MaximumVT,
|
||||||
data.PlayerStats.CurrentAttack,
|
data.PlayerStats.CurrentAttack,
|
||||||
data.PlayerStats.BonusAttack,
|
data.PlayerStats.BonusAttack,
|
||||||
data.PlayerStats.MaxAttack,
|
data.PlayerStats.MaxAttack,
|
||||||
data.PlayerStats.CurrentDefense,
|
data.PlayerStats.CurrentDefense,
|
||||||
data.PlayerStats.BonusDefense,
|
data.PlayerStats.BonusDefense,
|
||||||
data.PlayerStats.MaxDefense,
|
data.PlayerStats.MaxDefense,
|
||||||
data.PlayerStats.CurrentExp,
|
data.PlayerStats.CurrentExp,
|
||||||
data.PlayerStats.CurrentLevel,
|
data.PlayerStats.CurrentLevel,
|
||||||
data.PlayerStats.ExpToNextLevel,
|
data.PlayerStats.ExpToNextLevel,
|
||||||
data.PlayerStats.Luck);
|
data.PlayerStats.Luck);
|
||||||
Inventory = data.Inventory;
|
Inventory = data.Inventory;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
PlayerBinding = PlayerLogic.Bind();
|
PlayerBinding = PlayerLogic.Bind();
|
||||||
|
|
||||||
PlayerBinding
|
PlayerBinding
|
||||||
.Handle((in PlayerLogic.Output.Animations.Attack output) =>
|
.Handle((in PlayerLogic.Output.Animations.Attack output) =>
|
||||||
{
|
{
|
||||||
if (PlayerIsHittingGeometry())
|
if (PlayerIsHittingGeometry())
|
||||||
{
|
{
|
||||||
AnimationPlayer.Play("hit_wall");
|
AnimationPlayer.Play("hit_wall");
|
||||||
_gameRepo.OnPlayerAttackedWall();
|
_gameRepo.OnPlayerAttackedWall();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PlayAttackAnimation();
|
PlayAttackAnimation();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.Handle((in PlayerLogic.Output.ThrowItem output) =>
|
.Handle((in PlayerLogic.Output.ThrowItem output) =>
|
||||||
{
|
{
|
||||||
})
|
})
|
||||||
.Handle((in PlayerLogic.Output.Move output) =>
|
.Handle((in PlayerLogic.Output.Move output) =>
|
||||||
{
|
{
|
||||||
Move(output.delta);
|
Move(output.delta);
|
||||||
});
|
});
|
||||||
|
|
||||||
GameChunk.AddChunk(PlayerChunk);
|
GameChunk.AddChunk(PlayerChunk);
|
||||||
|
|
||||||
PlayerLogic.Start();
|
PlayerLogic.Start();
|
||||||
this.Provide();
|
this.Provide();
|
||||||
|
|
||||||
SetProcessInput(false);
|
SetProcessInput(false);
|
||||||
SetPhysicsProcess(false);
|
SetPhysicsProcess(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnReady()
|
public void OnReady()
|
||||||
{
|
{
|
||||||
SwordSlashAnimation.Position = GetViewport().GetVisibleRect().Size / 2;
|
SwordSlashAnimation.Position = GetViewport().GetVisibleRect().Size / 2;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public void Activate()
|
public void Activate()
|
||||||
{
|
{
|
||||||
SetProcessInput(true);
|
SetProcessInput(true);
|
||||||
SetPhysicsProcess(true);
|
SetPhysicsProcess(true);
|
||||||
SetHealthTimerStatus(HealthTimerIsActive);
|
SetHealthTimerStatus(HealthTimerIsActive);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Deactivate()
|
public void Deactivate()
|
||||||
{
|
{
|
||||||
SetProcessInput(false);
|
SetProcessInput(false);
|
||||||
SetPhysicsProcess(false);
|
SetPhysicsProcess(false);
|
||||||
SetHealthTimerStatus(false);
|
SetHealthTimerStatus(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Attack()
|
public void Attack()
|
||||||
{
|
{
|
||||||
PlayerLogic.Input(new PlayerLogic.Input.Attack());
|
PlayerLogic.Input(new PlayerLogic.Input.Attack());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RaiseHP(int amountToRaise)
|
public void RaiseHP(int amountToRaise)
|
||||||
{
|
{
|
||||||
Stats.SetMaximumHP(Stats.MaximumHP.Value + amountToRaise);
|
Stats.SetMaximumHP(Stats.MaximumHP.Value + amountToRaise);
|
||||||
Stats.SetCurrentHP(Stats.MaximumHP.Value);
|
Stats.SetCurrentHP(Stats.MaximumHP.Value);
|
||||||
_gameRepo.AnnounceMessageInInventory($"{amountToRaise}MAXHP Up.");
|
_gameRepo.AnnounceMessageInInventory($"{amountToRaise}MAXHP Up.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HealHP(int amountToRestore)
|
public void HealHP(int amountToRestore)
|
||||||
{
|
{
|
||||||
Stats.SetCurrentHP(Stats.CurrentHP.Value + amountToRestore);
|
Stats.SetCurrentHP(Stats.CurrentHP.Value + amountToRestore);
|
||||||
var raiseString = amountToRestore == 1000 ? "MAX" : $"{amountToRestore}";
|
var raiseString = amountToRestore == 1000 ? "MAX" : $"{amountToRestore}";
|
||||||
_gameRepo.AnnounceMessageInInventory($"{raiseString}HP Restored.");
|
_gameRepo.AnnounceMessageInInventory($"{raiseString}HP Restored.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RaiseVT(int amountToRaise)
|
public void RaiseVT(int amountToRaise)
|
||||||
{
|
{
|
||||||
if (Stats.CurrentVT == Stats.MaximumVT)
|
if (Stats.CurrentVT == Stats.MaximumVT)
|
||||||
{
|
{
|
||||||
Stats.SetMaximumVT(Stats.MaximumVT.Value + amountToRaise);
|
Stats.SetMaximumVT(Stats.MaximumVT.Value + amountToRaise);
|
||||||
Stats.SetCurrentVT(Stats.MaximumVT.Value);
|
Stats.SetCurrentVT(Stats.MaximumVT.Value);
|
||||||
_gameRepo.AnnounceMessageInInventory($"{amountToRaise}MAXVT Up.");
|
_gameRepo.AnnounceMessageInInventory($"{amountToRaise}MAXVT Up.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HealVT(int amountToRestore)
|
public void HealVT(int amountToRestore)
|
||||||
{
|
{
|
||||||
Stats.SetCurrentVT(Stats.CurrentVT.Value + amountToRestore);
|
Stats.SetCurrentVT(Stats.CurrentVT.Value + amountToRestore);
|
||||||
var raiseString = amountToRestore == 1000 ? "MAX" : $"{amountToRestore}";
|
var raiseString = amountToRestore == 1000 ? "MAX" : $"{amountToRestore}";
|
||||||
_gameRepo.AnnounceMessageInInventory($"{raiseString}VT Restored.");
|
_gameRepo.AnnounceMessageInInventory($"{raiseString}VT Restored.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ModifyBonusAttack(int amount)
|
public void ModifyBonusAttack(int amount)
|
||||||
{
|
{
|
||||||
Stats.SetBonusAttack(Stats.BonusAttack.Value + amount);
|
Stats.SetBonusAttack(Stats.BonusAttack.Value + amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ModifyBonusDefense(int amount)
|
public void ModifyBonusDefense(int amount)
|
||||||
{
|
{
|
||||||
Stats.SetBonusDefense(Stats.BonusDefense.Value + amount);
|
Stats.SetBonusDefense(Stats.BonusDefense.Value + amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ModifyMaximumHP(int amount)
|
public void ModifyMaximumHP(int amount)
|
||||||
{
|
{
|
||||||
Stats.SetMaximumHP(Stats.MaximumHP.Value + amount);
|
Stats.SetMaximumHP(Stats.MaximumHP.Value + amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ModifyMaximumVT(int amount)
|
public void ModifyMaximumVT(int amount)
|
||||||
{
|
{
|
||||||
Stats.SetMaximumVT(Stats.MaximumVT.Value + amount);
|
Stats.SetMaximumVT(Stats.MaximumVT.Value + amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ModifyBonusLuck(double amount)
|
public void ModifyBonusLuck(double amount)
|
||||||
{
|
{
|
||||||
Stats.SetLuck(Stats.Luck.Value + amount);
|
Stats.SetLuck(Stats.Luck.Value + amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetHealthTimerStatus(bool isActive)
|
public void SetHealthTimerStatus(bool isActive)
|
||||||
{
|
{
|
||||||
if (isActive)
|
if (isActive)
|
||||||
HealthTimer.Start();
|
HealthTimer.Start();
|
||||||
else
|
else
|
||||||
HealthTimer.Stop();
|
HealthTimer.Stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Move(float delta)
|
public void Move(float delta)
|
||||||
{
|
{
|
||||||
var rawInput = GlobalInputVector;
|
var rawInput = GlobalInputVector;
|
||||||
var strafeLeftInput = LeftStrafeInputVector;
|
var strafeLeftInput = LeftStrafeInputVector;
|
||||||
var strafeRightInput = RightStrafeInputVector;
|
var strafeRightInput = RightStrafeInputVector;
|
||||||
|
|
||||||
var transform = Transform;
|
var transform = Transform;
|
||||||
transform.Basis = new Basis(Vector3.Up, Settings.RotationSpeed * -rawInput.X * delta) * transform.Basis;
|
transform.Basis = new Basis(Vector3.Up, Settings.RotationSpeed * -rawInput.X * delta) * transform.Basis;
|
||||||
var moveDirection = new Vector3(strafeRightInput - strafeLeftInput, 0, rawInput.Z).Normalized();
|
var moveDirection = new Vector3(strafeRightInput - strafeLeftInput, 0, rawInput.Z).Normalized();
|
||||||
var velocity = Basis * moveDirection * Settings.MoveSpeed * Settings.Acceleration;
|
var velocity = Basis * moveDirection * Settings.MoveSpeed * Settings.Acceleration;
|
||||||
_knockbackStrength *= 0.9f;
|
_knockbackStrength *= 0.9f;
|
||||||
Transform = Transform with { Basis = transform.Basis };
|
Transform = Transform with { Basis = transform.Basis };
|
||||||
Velocity = velocity + (_knockbackDirection * _knockbackStrength);
|
Velocity = velocity + (_knockbackDirection * _knockbackStrength);
|
||||||
MoveAndSlide();
|
MoveAndSlide();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TeleportPlayer(Transform3D newTransform)
|
public void TeleportPlayer(Transform3D newTransform)
|
||||||
{
|
{
|
||||||
Transform = newTransform;
|
Transform = newTransform;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TakeDamage(double damage, ElementType elementType, bool isCriticalHit = false)
|
public void TakeDamage(double damage, ElementType elementType, bool isCriticalHit = false)
|
||||||
{
|
{
|
||||||
if (Stats.CurrentHP.Value > 0)
|
if (Stats.CurrentHP.Value > 0)
|
||||||
{
|
{
|
||||||
_damageCalculator.CalculateDamage(damage, elementType, Stats.CurrentDefense.Value + Stats.BonusDefense.Value, ((Armor)_equippedArmor.Value).Stats.ElementalResistanceSet);
|
_damageCalculator.CalculateDamage(damage, elementType, Stats.CurrentDefense.Value + Stats.BonusDefense.Value, ((Armor)_equippedArmor.Value).Stats.ElementalResistanceSet);
|
||||||
Stats.SetCurrentHP(Stats.CurrentHP.Value - (int)damage);
|
Stats.SetCurrentHP(Stats.CurrentHP.Value - (int)damage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Knockback(float impulse)
|
public void Knockback(float impulse)
|
||||||
{
|
{
|
||||||
_knockbackStrength = impulse;
|
_knockbackStrength = impulse;
|
||||||
_knockbackDirection = GlobalBasis.Z.Normalized();
|
_knockbackDirection = GlobalBasis.Z.Normalized();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void GainExp(double expGained)
|
public void GainExp(double expGained)
|
||||||
{
|
{
|
||||||
Stats.SetCurrentExp(Stats.CurrentExp.Value + expGained);
|
Stats.SetCurrentExp(Stats.CurrentExp.Value + expGained);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LevelUp()
|
public void LevelUp()
|
||||||
{
|
{
|
||||||
var rng = new RandomNumberGenerator();
|
var rng = new RandomNumberGenerator();
|
||||||
rng.Randomize();
|
rng.Randomize();
|
||||||
var hpIncrease = rng.RandiRange(3, 6);
|
var hpIncrease = rng.RandiRange(3, 6);
|
||||||
Stats.SetMaximumHP(Stats.MaximumHP.Value + hpIncrease);
|
Stats.SetMaximumHP(Stats.MaximumHP.Value + hpIncrease);
|
||||||
var nextLevel = Stats.CurrentLevel.Value + 1;
|
var nextLevel = Stats.CurrentLevel.Value + 1;
|
||||||
var expToNextLevel = (int)(6.5 * nextLevel + 4.5 * Mathf.Pow(nextLevel, 2) + Mathf.Pow(nextLevel, 3));
|
var expToNextLevel = (int)(6.5 * nextLevel + 4.5 * Mathf.Pow(nextLevel, 2) + Mathf.Pow(nextLevel, 3));
|
||||||
var newCurrentExp = Mathf.Max(Stats.CurrentExp.Value - Stats.ExpToNextLevel.Value, 0);
|
var newCurrentExp = Mathf.Max(Stats.CurrentExp.Value - Stats.ExpToNextLevel.Value, 0);
|
||||||
Stats.SetCurrentLevel(nextLevel);
|
Stats.SetCurrentLevel(nextLevel);
|
||||||
Stats.SetExpToNextLevel(expToNextLevel);
|
Stats.SetExpToNextLevel(expToNextLevel);
|
||||||
Stats.SetCurrentExp(newCurrentExp);
|
Stats.SetCurrentExp(newCurrentExp);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Die()
|
public void Die()
|
||||||
{
|
{
|
||||||
EquippedWeapon.Sync -= EquippedWeapon_Sync;
|
EquippedWeapon.Sync -= EquippedWeapon_Sync;
|
||||||
EquippedArmor.Sync -= EquippedArmor_Sync;
|
EquippedArmor.Sync -= EquippedArmor_Sync;
|
||||||
EquippedAccessory.Sync -= EquippedAccessory_Sync;
|
EquippedAccessory.Sync -= EquippedAccessory_Sync;
|
||||||
Stats.CurrentHP.Sync -= CurrentHP_Sync;
|
Stats.CurrentHP.Sync -= CurrentHP_Sync;
|
||||||
Stats.CurrentExp.Sync -= CurrentEXP_Sync;
|
Stats.CurrentExp.Sync -= CurrentEXP_Sync;
|
||||||
|
|
||||||
HealthTimer.WaitTime = _healthTimerWaitTime;
|
HealthTimer.WaitTime = _healthTimerWaitTime;
|
||||||
HealthTimer.Timeout -= OnHealthTimerTimeout;
|
HealthTimer.Timeout -= OnHealthTimerTimeout;
|
||||||
SwordSlashAnimation.Stop();
|
SwordSlashAnimation.Stop();
|
||||||
SetProcessInput(false);
|
SetProcessInput(false);
|
||||||
SetPhysicsProcess(false);
|
SetPhysicsProcess(false);
|
||||||
//Hitbox.AreaEntered -= Hitbox_AreaEntered;
|
//Hitbox.AreaEntered -= Hitbox_AreaEntered;
|
||||||
//CollisionDetector.AreaEntered -= CollisionDetector_AreaEntered;
|
//CollisionDetector.AreaEntered -= CollisionDetector_AreaEntered;
|
||||||
//AnimationPlayer.AnimationFinished -= OnAnimationFinished;
|
//AnimationPlayer.AnimationFinished -= OnAnimationFinished;
|
||||||
|
|
||||||
Game.GameOver();
|
Game.GameOver();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void _Input(InputEvent @event)
|
public override void _Input(InputEvent @event)
|
||||||
{
|
{
|
||||||
if (@event.IsActionPressed(GameInputs.Attack))
|
if (@event.IsActionPressed(GameInputs.Attack))
|
||||||
Attack();
|
Attack();
|
||||||
if (@event.IsActionPressed(GameInputs.Sprint))
|
if (@event.IsActionPressed(GameInputs.Sprint))
|
||||||
Settings.MoveSpeed *= 2;
|
Settings.MoveSpeed *= 2;
|
||||||
if (@event.IsActionReleased(GameInputs.Sprint))
|
if (@event.IsActionReleased(GameInputs.Sprint))
|
||||||
Settings.MoveSpeed /= 2;
|
Settings.MoveSpeed /= 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnPhysicsProcess(double delta)
|
public void OnPhysicsProcess(double delta)
|
||||||
{
|
{
|
||||||
PlayerLogic.Input(new PlayerLogic.Input.PhysicsTick(delta));
|
PlayerLogic.Input(new PlayerLogic.Input.PhysicsTick(delta));
|
||||||
PlayerLogic.Input(new PlayerLogic.Input.Moved(GlobalPosition, GlobalTransform));
|
PlayerLogic.Input(new PlayerLogic.Input.Moved(GlobalPosition, GlobalTransform));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Equip(EquipableItem equipable)
|
public void Equip(EquipableItem equipable)
|
||||||
{
|
{
|
||||||
if (equipable.ItemTag == ItemTag.MysteryItem)
|
if (equipable.ItemTag == ItemTag.MysteryItem)
|
||||||
{
|
{
|
||||||
var rerolledItem = Game.RerollItem(equipable) as EquipableItem;
|
var rerolledItem = Game.RerollItem(equipable) as EquipableItem;
|
||||||
Equip(rerolledItem);
|
Equip(rerolledItem);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (equipable is Weapon weapon)
|
if (equipable is Weapon weapon)
|
||||||
{
|
{
|
||||||
Unequip(_equippedWeapon.Value);
|
Unequip(_equippedWeapon.Value);
|
||||||
weapon.IsEquipped = true;
|
weapon.IsEquipped = true;
|
||||||
_equippedWeapon.OnNext(weapon);
|
_equippedWeapon.OnNext(weapon);
|
||||||
}
|
}
|
||||||
else if (equipable is Armor armor)
|
else if (equipable is Armor armor)
|
||||||
{
|
{
|
||||||
Unequip(_equippedArmor.Value);
|
Unequip(_equippedArmor.Value);
|
||||||
armor.IsEquipped = true;
|
armor.IsEquipped = true;
|
||||||
_equippedArmor.OnNext(armor);
|
_equippedArmor.OnNext(armor);
|
||||||
}
|
}
|
||||||
else if (equipable is Accessory accessory)
|
else if (equipable is Accessory accessory)
|
||||||
{
|
{
|
||||||
Unequip(_equippedAccessory.Value);
|
Unequip(_equippedAccessory.Value);
|
||||||
accessory.IsEquipped = true;
|
accessory.IsEquipped = true;
|
||||||
_equippedAccessory.OnNext(accessory);
|
_equippedAccessory.OnNext(accessory);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
throw new NotImplementedException("Item type is not supported.");
|
throw new NotImplementedException("Item type is not supported.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Unequip(EquipableItem equipable)
|
public void Unequip(EquipableItem equipable)
|
||||||
{
|
{
|
||||||
if (equipable is Weapon weapon)
|
if (equipable is Weapon weapon)
|
||||||
{
|
{
|
||||||
weapon.IsEquipped = false;
|
weapon.IsEquipped = false;
|
||||||
ModifyBonusAttack(-weapon.Damage);
|
ModifyBonusAttack(-weapon.Damage);
|
||||||
_equippedWeapon.OnNext(new Weapon());
|
_equippedWeapon.OnNext(new Weapon());
|
||||||
}
|
}
|
||||||
else if (equipable is Armor armor)
|
else if (equipable is Armor armor)
|
||||||
{
|
{
|
||||||
armor.IsEquipped = false;
|
armor.IsEquipped = false;
|
||||||
ModifyBonusDefense(-armor.Defense);
|
ModifyBonusDefense(-armor.Defense);
|
||||||
_equippedArmor.OnNext(new Armor());
|
_equippedArmor.OnNext(new Armor());
|
||||||
}
|
}
|
||||||
else if (equipable is Accessory accessory)
|
else if (equipable is Accessory accessory)
|
||||||
{
|
{
|
||||||
accessory.IsEquipped = false;
|
accessory.IsEquipped = false;
|
||||||
ModifyMaximumHP(-accessory.MaxHPUp);
|
ModifyMaximumHP(-accessory.MaxHPUp);
|
||||||
ModifyMaximumVT(-accessory.MaxVTUp);
|
ModifyMaximumVT(-accessory.MaxVTUp);
|
||||||
ModifyBonusAttack(-accessory.ATKUp);
|
ModifyBonusAttack(-accessory.ATKUp);
|
||||||
ModifyBonusDefense(-accessory.DEFUp);
|
ModifyBonusDefense(-accessory.DEFUp);
|
||||||
ModifyBonusLuck(-accessory.LuckUp);
|
ModifyBonusLuck(-accessory.LuckUp);
|
||||||
_equippedAccessory.OnNext(new Accessory());
|
_equippedAccessory.OnNext(new Accessory());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
throw new NotImplementedException("Item type is not supported.");
|
throw new NotImplementedException("Item type is not supported.");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Vector3 GlobalInputVector
|
private static Vector3 GlobalInputVector
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
var rawInput = Input.GetVector(GameInputs.MoveLeft, GameInputs.MoveRight, GameInputs.MoveUp, GameInputs.MoveDown);
|
var rawInput = Input.GetVector(GameInputs.MoveLeft, GameInputs.MoveRight, GameInputs.MoveUp, GameInputs.MoveDown);
|
||||||
var input = new Vector3
|
var input = new Vector3
|
||||||
{
|
{
|
||||||
X = rawInput.X,
|
X = rawInput.X,
|
||||||
Z = rawInput.Y
|
Z = rawInput.Y
|
||||||
};
|
};
|
||||||
return input with { Y = 0f };
|
return input with { Y = 0f };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static float LeftStrafeInputVector
|
private static float LeftStrafeInputVector
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return Input.GetActionStrength(GameInputs.StrafeLeft);
|
return Input.GetActionStrength(GameInputs.StrafeLeft);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static float RightStrafeInputVector
|
private static float RightStrafeInputVector
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return Input.GetActionStrength(GameInputs.StrafeRight);
|
return Input.GetActionStrength(GameInputs.StrafeRight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ThrowItem()
|
private void ThrowItem()
|
||||||
{
|
{
|
||||||
var itemScene = GD.Load<PackedScene>("res://src/items/throwable/ThrowableItem.tscn");
|
var itemScene = GD.Load<PackedScene>("res://src/items/throwable/ThrowableItem.tscn");
|
||||||
var throwItem = itemScene.Instantiate<ThrowableItem>();
|
var throwItem = itemScene.Instantiate<ThrowableItem>();
|
||||||
GetTree().Root.AddChildEx(throwItem);
|
GetTree().Root.AddChildEx(throwItem);
|
||||||
throwItem.GlobalPosition = CurrentPosition + new Vector3(0, 3.5f, 0);
|
throwItem.GlobalPosition = CurrentPosition + new Vector3(0, 3.5f, 0);
|
||||||
throwItem.GlobalRotation = GlobalRotation;
|
throwItem.GlobalRotation = GlobalRotation;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PlayAttackAnimation()
|
private void PlayAttackAnimation()
|
||||||
{
|
{
|
||||||
var attackSpeed = ((Weapon)EquippedWeapon.Value).AttackSpeed;
|
var attackSpeed = ((Weapon)EquippedWeapon.Value).AttackSpeed;
|
||||||
AnimationPlayer.SetSpeedScale((float)attackSpeed);
|
AnimationPlayer.SetSpeedScale((float)attackSpeed);
|
||||||
if (EquippedWeapon.Value.ItemName == "Atonement")
|
if (EquippedWeapon.Value.ItemName == "Atonement")
|
||||||
AnimationPlayer.Play("atonement_attack");
|
AnimationPlayer.Play("atonement_attack");
|
||||||
else
|
else
|
||||||
AnimationPlayer.Play("attack");
|
AnimationPlayer.Play("attack");
|
||||||
_gameRepo.OnPlayerAttack();
|
_gameRepo.OnPlayerAttack();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnAnimationFinished(StringName animation)
|
private void OnAnimationFinished(StringName animation)
|
||||||
{
|
{
|
||||||
PlayerLogic.Input(new PlayerLogic.Input.AttackAnimationFinished());
|
PlayerLogic.Input(new PlayerLogic.Input.AttackAnimationFinished());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnExitTree()
|
private void OnExitTree()
|
||||||
{
|
{
|
||||||
PlayerLogic.Stop();
|
PlayerLogic.Stop();
|
||||||
PlayerBinding.Dispose();
|
PlayerBinding.Dispose();
|
||||||
AnimationPlayer.AnimationFinished -= OnAnimationFinished;
|
AnimationPlayer.AnimationFinished -= OnAnimationFinished;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnPlayerPositionUpdated(Vector3 globalPosition) => GlobalPosition = globalPosition;
|
private void OnPlayerPositionUpdated(Vector3 globalPosition) => GlobalPosition = globalPosition;
|
||||||
|
|
||||||
private void OnHealthTimerTimeout()
|
private void OnHealthTimerTimeout()
|
||||||
{
|
{
|
||||||
if (Stats.CurrentHP.Value <= 0)
|
if (Stats.CurrentHP.Value <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (Stats.CurrentVT.Value > 0)
|
if (Stats.CurrentVT.Value > 0)
|
||||||
{
|
{
|
||||||
if (((Accessory)EquippedAccessory.Value).AccessoryTag == AccessoryTag.HalfVTConsumption)
|
if (((Accessory)EquippedAccessory.Value).AccessoryTag == AccessoryTag.HalfVTConsumption)
|
||||||
{
|
{
|
||||||
reduceOnTick = !reduceOnTick;
|
reduceOnTick = !reduceOnTick;
|
||||||
}
|
}
|
||||||
Stats.SetCurrentHP(Stats.CurrentHP.Value + 1);
|
Stats.SetCurrentHP(Stats.CurrentHP.Value + 1);
|
||||||
if (reduceOnTick)
|
if (reduceOnTick)
|
||||||
Stats.SetCurrentVT(Stats.CurrentVT.Value - 1);
|
Stats.SetCurrentVT(Stats.CurrentVT.Value - 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Stats.SetCurrentHP(Stats.CurrentHP.Value - 1);
|
Stats.SetCurrentHP(Stats.CurrentHP.Value - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void EquippedWeapon_Sync(EquipableItem obj)
|
private void EquippedWeapon_Sync(EquipableItem obj)
|
||||||
{
|
{
|
||||||
ModifyBonusAttack(((Weapon)obj).Damage);
|
ModifyBonusAttack(((Weapon)obj).Damage);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void EquippedArmor_Sync(EquipableItem obj)
|
private void EquippedArmor_Sync(EquipableItem obj)
|
||||||
{
|
{
|
||||||
ModifyBonusDefense(((Armor)obj).Defense);
|
ModifyBonusDefense(((Armor)obj).Defense);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void EquippedAccessory_Sync(EquipableItem accessory)
|
private void EquippedAccessory_Sync(EquipableItem accessory)
|
||||||
{
|
{
|
||||||
ModifyMaximumHP(((Accessory)accessory).MaxHPUp);
|
ModifyMaximumHP(((Accessory)accessory).MaxHPUp);
|
||||||
ModifyMaximumVT(((Accessory)accessory).MaxVTUp);
|
ModifyMaximumVT(((Accessory)accessory).MaxVTUp);
|
||||||
ModifyBonusAttack(((Accessory)accessory).ATKUp);
|
ModifyBonusAttack(((Accessory)accessory).ATKUp);
|
||||||
ModifyBonusDefense(((Accessory)accessory).DEFUp);
|
ModifyBonusDefense(((Accessory)accessory).DEFUp);
|
||||||
ModifyBonusLuck(((Accessory)accessory).LuckUp);
|
ModifyBonusLuck(((Accessory)accessory).LuckUp);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CurrentHP_Sync(int newHealth)
|
private void CurrentHP_Sync(int newHealth)
|
||||||
{
|
{
|
||||||
if (newHealth <= 0)
|
if (newHealth <= 0)
|
||||||
Die();
|
Die();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CurrentEXP_Sync(double newExp)
|
private void CurrentEXP_Sync(double newExp)
|
||||||
{
|
{
|
||||||
if (Stats.CurrentExp.Value >= Stats.ExpToNextLevel.Value)
|
if (Stats.CurrentExp.Value >= Stats.ExpToNextLevel.Value)
|
||||||
LevelUp();
|
LevelUp();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Hitbox_AreaEntered(Area3D area)
|
private void Hitbox_AreaEntered(Area3D area)
|
||||||
{
|
{
|
||||||
var target = area.GetOwner();
|
var target = area.GetOwner();
|
||||||
if (target is IEnemy enemy)
|
if (target is IEnemy enemy)
|
||||||
HitEnemy(enemy);
|
HitEnemy(enemy);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HitEnemy(IEnemy enemy)
|
private void HitEnemy(IEnemy enemy)
|
||||||
{
|
{
|
||||||
var attackValue = Stats.CurrentAttack.Value + Stats.BonusAttack.Value;
|
var attackValue = Stats.CurrentAttack.Value + Stats.BonusAttack.Value;
|
||||||
var ignoreElementalResistance = ((Weapon)EquippedWeapon.Value).WeaponTag == WeaponTag.IgnoreAffinity;
|
var ignoreElementalResistance = ((Weapon)EquippedWeapon.Value).WeaponTag == WeaponTag.IgnoreAffinity;
|
||||||
var isCriticalHit = BattleExtensions.IsCriticalHit(Stats.Luck.Value);
|
var isCriticalHit = BattleExtensions.IsCriticalHit(Stats.Luck.Value);
|
||||||
var element = ((Weapon)EquippedWeapon.Value).WeaponElement;
|
var element = ((Weapon)EquippedWeapon.Value).WeaponElement;
|
||||||
|
|
||||||
enemy.TakeDamage(
|
enemy.TakeDamage(
|
||||||
attackValue * ((Weapon)EquippedWeapon.Value).ElementalDamageBonus,
|
attackValue * ((Weapon)EquippedWeapon.Value).ElementalDamageBonus,
|
||||||
element,
|
element,
|
||||||
isCriticalHit,
|
isCriticalHit,
|
||||||
false,
|
false,
|
||||||
ignoreElementalResistance);
|
ignoreElementalResistance);
|
||||||
|
|
||||||
if (((Weapon)EquippedWeapon.Value).WeaponTag == WeaponTag.Knockback)
|
if (((Weapon)EquippedWeapon.Value).WeaponTag == WeaponTag.Knockback)
|
||||||
enemy.Knockback(0.3f, -CurrentBasis.Z.Normalized());
|
enemy.Knockback(0.3f, -CurrentBasis.Z.Normalized());
|
||||||
|
|
||||||
_gameRepo.OnPlayerAttackedEnemy();
|
_gameRepo.OnPlayerAttackedEnemy();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CollisionDetector_AreaEntered(Area3D area)
|
private void CollisionDetector_AreaEntered(Area3D area)
|
||||||
{
|
{
|
||||||
if (area.GetParent() is InventoryItem inventoryItem)
|
if (area.GetParent() is InventoryItem inventoryItem)
|
||||||
{
|
{
|
||||||
var isAdded = Inventory.TryAdd(inventoryItem);
|
var isAdded = Inventory.TryAdd(inventoryItem);
|
||||||
if (isAdded)
|
if (isAdded)
|
||||||
{
|
{
|
||||||
_gameRepo.AnnounceMessageOnMainScreen($"{inventoryItem.ItemName} picked up.");
|
_gameRepo.AnnounceMessageOnMainScreen($"{inventoryItem.ItemName} picked up.");
|
||||||
inventoryItem.QueueFree();
|
inventoryItem.QueueFree();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_gameRepo.AnnounceMessageOnMainScreen($"Could not pick up {inventoryItem.ItemName}.");
|
_gameRepo.AnnounceMessageOnMainScreen($"Could not pick up {inventoryItem.ItemName}.");
|
||||||
}
|
}
|
||||||
if (area.GetParent() is DroppedItem droppedItem)
|
if (area.GetParent() is DroppedItem droppedItem)
|
||||||
{
|
{
|
||||||
var isAdded = Inventory.TryAdd(droppedItem.Item);
|
var isAdded = Inventory.TryAdd(droppedItem.Item);
|
||||||
if (isAdded)
|
if (isAdded)
|
||||||
{
|
{
|
||||||
_gameRepo.AnnounceMessageOnMainScreen($"{droppedItem.Item.ItemName} picked up.");
|
_gameRepo.AnnounceMessageOnMainScreen($"{droppedItem.Item.ItemName} picked up.");
|
||||||
droppedItem.QueueFree();
|
droppedItem.QueueFree();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_gameRepo.AnnounceMessageOnMainScreen($"Could not pick up {droppedItem.Item.ItemName}.");
|
_gameRepo.AnnounceMessageOnMainScreen($"Could not pick up {droppedItem.Item.ItemName}.");
|
||||||
}
|
}
|
||||||
if (area.GetParent() is ThrownItem thrownItem)
|
if (area.GetParent() is ThrownItem thrownItem)
|
||||||
{
|
{
|
||||||
var isAdded = Inventory.TryAdd(thrownItem.ItemThatIsThrown);
|
var isAdded = Inventory.TryAdd(thrownItem.ItemThatIsThrown);
|
||||||
if (isAdded)
|
if (isAdded)
|
||||||
{
|
{
|
||||||
_gameRepo.AnnounceMessageOnMainScreen($"{thrownItem.ItemThatIsThrown.ItemName} picked up.");
|
_gameRepo.AnnounceMessageOnMainScreen($"{thrownItem.ItemThatIsThrown.ItemName} picked up.");
|
||||||
thrownItem.QueueFree();
|
thrownItem.QueueFree();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_gameRepo.AnnounceMessageOnMainScreen($"Could not pick up {thrownItem.ItemThatIsThrown.ItemName}.");
|
_gameRepo.AnnounceMessageOnMainScreen($"Could not pick up {thrownItem.ItemThatIsThrown.ItemName}.");
|
||||||
}
|
}
|
||||||
if (area.GetParent() is Restorative restorative)
|
if (area.GetParent() is Restorative restorative)
|
||||||
{
|
{
|
||||||
_gameRepo.OnRestorativePickedUp(restorative);
|
_gameRepo.OnRestorativePickedUp(restorative);
|
||||||
restorative.QueueFree();
|
restorative.QueueFree();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private PlayerStats InitializePlayerStats()
|
private PlayerStats InitializePlayerStats()
|
||||||
{
|
{
|
||||||
var playerStats = new PlayerStats(
|
var playerStats = new PlayerStats(
|
||||||
currentHP: new AutoProp<int>(_playerStatResource.CurrentHP),
|
currentHP: new AutoProp<int>(_playerStatResource.CurrentHP),
|
||||||
maximumHP: new AutoProp<int>(_playerStatResource.MaximumHP),
|
maximumHP: new AutoProp<int>(_playerStatResource.MaximumHP),
|
||||||
currentVT: new AutoProp<int>(_playerStatResource.CurrentVT),
|
currentVT: new AutoProp<int>(_playerStatResource.CurrentVT),
|
||||||
maximumVT: new AutoProp<int>(_playerStatResource.MaximumVT),
|
maximumVT: new AutoProp<int>(_playerStatResource.MaximumVT),
|
||||||
currentAttack: new AutoProp<int>(_playerStatResource.CurrentAttack),
|
currentAttack: new AutoProp<int>(_playerStatResource.CurrentAttack),
|
||||||
currentDefense: new AutoProp<int>(_playerStatResource.CurrentDefense),
|
currentDefense: new AutoProp<int>(_playerStatResource.CurrentDefense),
|
||||||
maxAttack: new AutoProp<int>(_playerStatResource.MaxAttack),
|
maxAttack: new AutoProp<int>(_playerStatResource.MaxAttack),
|
||||||
maxDefense: new AutoProp<int>(_playerStatResource.MaxDefense),
|
maxDefense: new AutoProp<int>(_playerStatResource.MaxDefense),
|
||||||
bonusAttack: new AutoProp<int>(_playerStatResource.BonusAttack),
|
bonusAttack: new AutoProp<int>(_playerStatResource.BonusAttack),
|
||||||
bonusDefense: new AutoProp<int>(_playerStatResource.BonusDefense),
|
bonusDefense: new AutoProp<int>(_playerStatResource.BonusDefense),
|
||||||
currentExp: new AutoProp<double>(_playerStatResource.CurrentExp),
|
currentExp: new AutoProp<double>(_playerStatResource.CurrentExp),
|
||||||
expToNextLevel: new AutoProp<int>(_playerStatResource.ExpToNextLevel),
|
expToNextLevel: new AutoProp<int>(_playerStatResource.ExpToNextLevel),
|
||||||
currentLevel: new AutoProp<int>(_playerStatResource.CurrentLevel),
|
currentLevel: new AutoProp<int>(_playerStatResource.CurrentLevel),
|
||||||
luck: new AutoProp<double>(_playerStatResource.Luck));
|
luck: new AutoProp<double>(_playerStatResource.Luck));
|
||||||
|
|
||||||
return playerStats;
|
return playerStats;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool PlayerIsHittingGeometry()
|
private bool PlayerIsHittingGeometry()
|
||||||
{
|
{
|
||||||
var collisions = WallCheck.GetCollidingBodies();
|
var collisions = WallCheck.GetCollidingBodies();
|
||||||
return collisions.Count > 0;
|
return collisions.Count > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void WallCheck_BodyEntered(Node body)
|
private void WallCheck_BodyEntered(Node body)
|
||||||
{
|
{
|
||||||
PlayerLogic.Input(new PlayerLogic.Input.AttackAnimationFinished());
|
PlayerLogic.Input(new PlayerLogic.Input.AttackAnimationFinished());
|
||||||
GD.Print("Hit wall");
|
GD.Print("Hit wall");
|
||||||
AnimationPlayer.Stop();
|
AnimationPlayer.Stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
Zennysoft.Game.Ma/src/vfx/World/rose petal 1.png
Normal file
BIN
Zennysoft.Game.Ma/src/vfx/World/rose petal 1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 505 B |
34
Zennysoft.Game.Ma/src/vfx/World/rose petal 1.png.import
Normal file
34
Zennysoft.Game.Ma/src/vfx/World/rose petal 1.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cl4tuxjoouokq"
|
||||||
|
path="res://.godot/imported/rose petal 1.png-4e0947a3babd88adaeb1d406c623c82e.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://src/vfx/World/rose petal 1.png"
|
||||||
|
dest_files=["res://.godot/imported/rose petal 1.png-4e0947a3babd88adaeb1d406c623c82e.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
||||||
Reference in New Issue
Block a user