Area 2 all rooms preliminary lighting setup, a few with unapplied scale but maybe fine.
This commit is contained in:
@@ -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"]
|
||||
|
||||
[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
|
||||
[ext_resource type="Texture2D" uid="uid://jk0ysk54nrpc" path="res://src/minimap/textures/Room Maps/mi_2ante.png" id="1_thb07"]
|
||||
|
||||
[resource]
|
||||
next_pass = SubResource("ShaderMaterial_51rab")
|
||||
transparency = 1
|
||||
cull_mode = 2
|
||||
depth_draw_mode = 1
|
||||
shading_mode = 0
|
||||
vertex_color_use_as_albedo = true
|
||||
albedo_color = Color(0.929412, 0.454902, 0.117647, 0.843137)
|
||||
albedo_texture = ExtResource("1_thb07")
|
||||
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")
|
||||
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)
|
||||
light_energy = 0.369
|
||||
light_volumetric_fog_energy = 0.809
|
||||
@@ -17806,7 +17806,7 @@ spot_range = 60.8934
|
||||
spot_attenuation = -0.73
|
||||
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)
|
||||
light_energy = 0.273
|
||||
spot_range = 32.091
|
||||
@@ -17824,35 +17824,35 @@ shadow_opacity = 0.99
|
||||
shadow_blur = 1.419
|
||||
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)
|
||||
radius = 1.10986
|
||||
height = 3.94248
|
||||
cone = true
|
||||
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)
|
||||
radius = 0.147461
|
||||
height = 5.5284
|
||||
cone = true
|
||||
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)
|
||||
radius = 0.147461
|
||||
height = 5.5485
|
||||
cone = true
|
||||
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)
|
||||
radius = 0.0449219
|
||||
height = 5.18228
|
||||
cone = true
|
||||
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)
|
||||
light_energy = 8.623
|
||||
shadow_enabled = true
|
||||
@@ -17860,7 +17860,7 @@ spot_range = 62.606
|
||||
spot_attenuation = 0.32
|
||||
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)
|
||||
light_volumetric_fog_energy = 1.671
|
||||
shadow_enabled = true
|
||||
@@ -17868,27 +17868,27 @@ shadow_blur = 1.12
|
||||
omni_range = 20.0
|
||||
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)
|
||||
shadow_enabled = true
|
||||
shadow_blur = 3.832
|
||||
omni_range = 20.163
|
||||
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)
|
||||
light_color = Color(0.672, 1, 0.59, 1)
|
||||
light_energy = 1.115
|
||||
omni_range = 45.654
|
||||
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)
|
||||
light_energy = 0.329
|
||||
shadow_enabled = true
|
||||
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)
|
||||
light_energy = 0.329
|
||||
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_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://saepqdyeepyn"
|
||||
path="res://.godot/imported/A2-Puer.glb-3b11ccd8f9ba6f91fbb05537c52490b0.scn"
|
||||
uid="uid://dh8ji8g36mmx5"
|
||||
path="res://.godot/imported/a2-puer.glb-20bdcd533f2a6024a2fa1d9a726cae55.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer.glb"
|
||||
dest_files=["res://.godot/imported/A2-Puer.glb-3b11ccd8f9ba6f91fbb05537c52490b0.scn"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer.glb"
|
||||
dest_files=["res://.godot/imported/a2-puer.glb-20bdcd533f2a6024a2fa1d9a726cae55.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -510,10 +510,7 @@ shadow_mesh = SubResource("ArrayMesh_psnf0")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rd0mx"]
|
||||
resource_name = "FLOOR SYMBOL2"
|
||||
transparency = 2
|
||||
alpha_scissor_threshold = 0.5
|
||||
alpha_antialiasing_mode = 0
|
||||
cull_mode = 2
|
||||
transparency = 4
|
||||
albedo_texture = ExtResource("13_2q6hq")
|
||||
|
||||
[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]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_312b8"]
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_1up8d"]
|
||||
curve = SubResource("Curve_k6i88")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4bxb6"]
|
||||
@@ -694,12 +691,12 @@ angle_min = -245.3
|
||||
angle_max = 417.9
|
||||
orbit_velocity_min = -0.0269999
|
||||
orbit_velocity_max = 0.0400001
|
||||
orbit_velocity_curve = SubResource("CurveTexture_312b8")
|
||||
orbit_velocity_curve = SubResource("CurveTexture_1up8d")
|
||||
gravity = Vector3(0, -0.07, 0)
|
||||
scale_min = 0.0
|
||||
scale_max = 0.0
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jig7d"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6jb2l"]
|
||||
transparency = 1
|
||||
cull_mode = 2
|
||||
shading_mode = 0
|
||||
@@ -708,7 +705,7 @@ albedo_texture = ExtResource("17_6jb2l")
|
||||
billboard_mode = 2
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_sasor"]
|
||||
material = SubResource("StandardMaterial3D_jig7d")
|
||||
material = SubResource("StandardMaterial3D_6jb2l")
|
||||
size = Vector2(0.1, 0.1)
|
||||
subdivide_width = 1
|
||||
subdivide_depth = 1
|
||||
@@ -809,7 +806,7 @@ mesh = SubResource("ArrayMesh_gia0o")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[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")
|
||||
skeleton = NodePath("")
|
||||
|
||||
@@ -846,7 +843,6 @@ draw_pass_1 = SubResource("QuadMesh_sasor")
|
||||
|
||||
[node name="Collision" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
||||
visible = false
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Collision"]
|
||||
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="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
||||
visible = false
|
||||
|
||||
[node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"]
|
||||
unique_name_in_owner = true
|
||||
@@ -1042,7 +1037,6 @@ unique_name_in_owner = true
|
||||
|
||||
[node name="Room" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2, 0)
|
||||
visible = false
|
||||
|
||||
[node name="Room" type="Area3D" parent="Room"]
|
||||
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"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.1785, 1.98844)
|
||||
visible = false
|
||||
layers = 2
|
||||
mesh = SubResource("PlaneMesh_f286s")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_awhym")
|
||||
|
||||
@@ -781,7 +781,7 @@ mesh = SubResource("PlaneMesh_owv6l")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_ay4ur")
|
||||
|
||||
[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_energy = 5.049
|
||||
shadow_enabled = true
|
||||
|
||||
@@ -1013,21 +1013,21 @@ process_material = SubResource("ParticleProcessMaterial_s3puq")
|
||||
draw_pass_1 = SubResource("QuadMesh_fq8gy")
|
||||
|
||||
[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
|
||||
shadow_enabled = true
|
||||
omni_range = 22.064
|
||||
omni_attenuation = 1.469
|
||||
|
||||
[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
|
||||
shadow_enabled = true
|
||||
omni_range = 14.0
|
||||
omni_attenuation = 1.5
|
||||
|
||||
[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
|
||||
shadow_enabled = true
|
||||
omni_range = 14.0
|
||||
|
||||
@@ -1018,8 +1018,8 @@ process_material = SubResource("ParticleProcessMaterial_1p4ye")
|
||||
draw_pass_1 = SubResource("QuadMesh_s0dni")
|
||||
|
||||
[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
|
||||
shadow_enabled = true
|
||||
omni_range = 7.805
|
||||
omni_range = 9.46
|
||||
omni_attenuation = 1.469
|
||||
|
||||
@@ -198,24 +198,24 @@ process_material = SubResource("ParticleProcessMaterial_s7fpw")
|
||||
draw_pass_1 = SubResource("QuadMesh_nopim")
|
||||
|
||||
[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
|
||||
shadow_enabled = true
|
||||
omni_range = 18.0
|
||||
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, 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
|
||||
shadow_enabled = true
|
||||
shadow_blur = 10.0
|
||||
omni_range = 18.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, 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
|
||||
shadow_enabled = true
|
||||
shadow_blur = 10.0
|
||||
omni_range = 18.0
|
||||
omni_range = 26.443
|
||||
omni_attenuation = 1.781
|
||||
|
||||
@@ -256,7 +256,6 @@ shape = SubResource("BoxShape3D_2nfuf")
|
||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
|
||||
visible = false
|
||||
layers = 2
|
||||
mesh = SubResource("PlaneMesh_44h5a")
|
||||
skeleton = NodePath("")
|
||||
@@ -271,7 +270,7 @@ process_material = SubResource("ParticleProcessMaterial_iskcw")
|
||||
draw_pass_1 = SubResource("QuadMesh_0ydkh")
|
||||
|
||||
[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_energy = 4.956
|
||||
light_specular = 0.0
|
||||
@@ -280,7 +279,7 @@ omni_range = 20.0
|
||||
omni_attenuation = 1.231
|
||||
|
||||
[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_energy = 4.956
|
||||
light_specular = 0.0
|
||||
@@ -316,7 +315,7 @@ omni_range = 20.0
|
||||
omni_attenuation = 1.231
|
||||
|
||||
[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_energy = 4.956
|
||||
light_specular = 0.0
|
||||
@@ -327,6 +326,7 @@ omni_attenuation = 1.231
|
||||
[node name="SpotLight3D" type="SpotLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 6, -10)
|
||||
light_energy = 10.618
|
||||
shadow_enabled = true
|
||||
spot_range = 12.0
|
||||
spot_attenuation = 0.65
|
||||
spot_angle = 38.9975
|
||||
@@ -334,6 +334,7 @@ spot_angle = 38.9975
|
||||
[node name="SpotLight3D2" type="SpotLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 7, 11)
|
||||
light_energy = 10.618
|
||||
shadow_enabled = true
|
||||
spot_range = 12.0
|
||||
spot_attenuation = 0.65
|
||||
spot_angle = 38.9975
|
||||
@@ -348,10 +349,12 @@ size = Vector3(6, 5, 8)
|
||||
|
||||
[node name="OmniLight3D7" type="OmniLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -10)
|
||||
shadow_enabled = true
|
||||
omni_range = 3.747
|
||||
omni_attenuation = -0.85
|
||||
|
||||
[node name="OmniLight3D8" type="OmniLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 10.1454)
|
||||
shadow_enabled = true
|
||||
omni_range = 3.747
|
||||
omni_attenuation = -0.85
|
||||
|
||||
@@ -1703,31 +1703,53 @@ process_material = SubResource("ParticleProcessMaterial_x03a5")
|
||||
draw_pass_1 = SubResource("QuadMesh_06lbc")
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="Minimap"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.41476, 2.20402, 8.51936)
|
||||
light_energy = 5.0
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.41476, 2.94534, 8.58951)
|
||||
light_energy = 1.743
|
||||
shadow_enabled = true
|
||||
shadow_blur = 3.948
|
||||
omni_range = 14.948
|
||||
|
||||
[node name="OmniLight3D2" type="OmniLight3D" parent="Minimap"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.72707, 2.19548, -9.48356)
|
||||
light_energy = 5.0
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="Minimap/OmniLight3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.96407, 2.43493, -5.06341)
|
||||
light_color = Color(0.524667, 0.38, 1, 1)
|
||||
light_energy = 3.312
|
||||
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
|
||||
|
||||
[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
|
||||
shadow_enabled = true
|
||||
omni_range = 14.948
|
||||
shadow_blur = 2.965
|
||||
omni_range = 12.94
|
||||
|
||||
[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
|
||||
shadow_enabled = true
|
||||
omni_range = 14.948
|
||||
|
||||
[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
|
||||
shadow_blur = 3.023
|
||||
omni_range = 12.94
|
||||
|
||||
@@ -177,14 +177,16 @@ process_material = SubResource("ParticleProcessMaterial_aviq7")
|
||||
draw_pass_1 = SubResource("QuadMesh_30nhy")
|
||||
|
||||
[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
|
||||
shadow_enabled = true
|
||||
shadow_blur = 5.566
|
||||
omni_range = 14.948
|
||||
|
||||
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.8771, 2.32407, -0.033761)
|
||||
light_energy = 1.812
|
||||
shadow_enabled = true
|
||||
shadow_blur = 5.566
|
||||
omni_range = 15.684
|
||||
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="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://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"]
|
||||
|
||||
[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"]
|
||||
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"]
|
||||
size = Vector3(20, 6, 16)
|
||||
|
||||
@@ -28,6 +22,53 @@ size = Vector2(20, 16)
|
||||
albedo_texture = ExtResource("7_qn47s")
|
||||
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"]
|
||||
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)
|
||||
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="."]
|
||||
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"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.524475, 0)
|
||||
layers = 2
|
||||
mesh = SubResource("PlaneMesh_63r54")
|
||||
skeleton = NodePath("")
|
||||
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="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://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"]
|
||||
|
||||
[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
|
||||
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"]
|
||||
size = Vector3(36, 6, 36)
|
||||
|
||||
@@ -34,6 +30,44 @@ size = Vector2(36, 36)
|
||||
albedo_texture = ExtResource("6_xpqkd")
|
||||
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"]
|
||||
script = ExtResource("2_7fo8x")
|
||||
|
||||
@@ -41,6 +75,7 @@ script = ExtResource("2_7fo8x")
|
||||
|
||||
[node name="Collision" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
||||
visible = false
|
||||
|
||||
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Collision"]
|
||||
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)
|
||||
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="."]
|
||||
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")
|
||||
|
||||
[node name="Minimap" type="Node3D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||
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")
|
||||
skeleton = NodePath("")
|
||||
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="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="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"]
|
||||
transparency = 1
|
||||
albedo_texture = ExtResource("7_7b6f1")
|
||||
albedo_texture = ExtResource("5_erovx")
|
||||
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"]
|
||||
script = ExtResource("2_oayuk")
|
||||
|
||||
@@ -240,8 +276,38 @@ shape = SubResource("BoxShape3D_w5a3p")
|
||||
|
||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.0419, 0)
|
||||
layers = 2
|
||||
mesh = SubResource("PlaneMesh_0nke0")
|
||||
skeleton = NodePath("")
|
||||
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="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="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"]
|
||||
@@ -29,6 +30,41 @@ transparency = 1
|
||||
albedo_texture = ExtResource("7_be25c")
|
||||
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"]
|
||||
script = ExtResource("2_i2lux")
|
||||
|
||||
@@ -203,8 +239,31 @@ shape = SubResource("BoxShape3D_6sers")
|
||||
|
||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.524475, 0)
|
||||
layers = 2
|
||||
mesh = SubResource("PlaneMesh_6drtk")
|
||||
skeleton = NodePath("")
|
||||
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="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="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"]
|
||||
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"]
|
||||
script = ExtResource("1_w3a78")
|
||||
|
||||
[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="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.32238, 0)
|
||||
visible = false
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Collision"]
|
||||
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"]
|
||||
unique_name_in_owner = true
|
||||
mesh = SubResource("PlaneMesh_w3a78")
|
||||
|
||||
[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")]
|
||||
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"]
|
||||
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"]
|
||||
|
||||
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="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://dvast710lxrmw" path="res://src/map/dungeon/door/A2_BLOCKED_DOOR.png" id="21_7o05s"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_umdkt"]
|
||||
size = Vector3(0.391602, 21, 37)
|
||||
@@ -21,14 +22,6 @@ radius = 1.40381
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_bracd"]
|
||||
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"]
|
||||
size = Vector3(20, 20, 36)
|
||||
|
||||
@@ -43,6 +36,454 @@ transparency = 1
|
||||
albedo_texture = ExtResource("7_vsgtq")
|
||||
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"]
|
||||
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)
|
||||
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="."]
|
||||
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")
|
||||
|
||||
[node name="Minimap" type="Node3D" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="Minimap" type="MeshInstance3D" parent="Minimap"]
|
||||
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")
|
||||
skeleton = NodePath("")
|
||||
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="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://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="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")
|
||||
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"]
|
||||
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="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")
|
||||
|
||||
[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")]
|
||||
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;
|
||||
render_mode diffuse_burley, specular_schlick_ggx, blend_mix;
|
||||
|
||||
group_uniforms albedo;
|
||||
uniform vec4 albedo : source_color = vec4(1.0, 1.0, 1.0, 0.0);
|
||||
uniform sampler2D albedo_texture : source_color, hint_default_white;
|
||||
uniform float Emission_Power = 1.0;
|
||||
uniform vec3 Color:source_color;
|
||||
|
||||
group_uniforms roughness;
|
||||
uniform float roughness : hint_range(0.0, 1.0) = 0.15;
|
||||
uniform sampler2D roughness_texture : hint_roughness_r;
|
||||
group_uniforms Fresnel;
|
||||
uniform sampler2D Fresnel_Noise_Texture:source_color;
|
||||
uniform vec3 Fresnel_Color : source_color;
|
||||
uniform float Fresnel_Power : hint_range(0.1, 10.0) = 3.0;
|
||||
|
||||
group_uniforms normal;
|
||||
uniform float normal_strength : hint_range(-16.0, 16.0) = 1.0;
|
||||
uniform sampler2D normal_map : hint_normal;
|
||||
group_uniforms Lines_Alpha;
|
||||
uniform sampler2D Line_Texture:source_color;
|
||||
uniform float Repetitions = 2.0;
|
||||
uniform float Speed = 1.0;
|
||||
|
||||
group_uniforms misc;
|
||||
uniform vec4 edge_color : source_color = vec4(0.0, 0.0, 0.0, 1.0);
|
||||
group_uniforms Alpha_Fade;
|
||||
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() {
|
||||
// calculate fresnel values
|
||||
float VdotN = dot(VIEW, NORMAL);
|
||||
float fresnel = clamp(SchlickFresnel(VdotN), 0.0, 1.0);
|
||||
float Fresnel = pow(1.0 - dot(NORMAL, VIEW), Fresnel_Power);
|
||||
float Noise_Value = texture(Fresnel_Noise_Texture,UV).r;
|
||||
float Noise_Fresnel = Fresnel * Noise_Value;
|
||||
|
||||
// sample and mix textures
|
||||
vec4 _albedo = texture(albedo_texture, UV) * albedo;
|
||||
float _roughness = texture(roughness_texture, UV).r * roughness;
|
||||
vec3 Final_Color = mix(Color,Fresnel_Color,Noise_Fresnel);
|
||||
|
||||
// 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;
|
||||
NORMAL_MAP = texture(normal_map, UV).xyz;
|
||||
NORMAL_MAP_DEPTH = normal_strength;
|
||||
vec2 uv = UV;
|
||||
uv.y = Wave_WorldCoords.y;
|
||||
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="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://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"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
@@ -58,9 +111,15 @@ radius = 1.941
|
||||
script = ExtResource("1_5qwnr")
|
||||
Dialogue = ExtResource("2_j753f")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_moxl4")
|
||||
}
|
||||
autoplay = "Idle"
|
||||
|
||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
|
||||
billboard = 2
|
||||
sprite_frames = SubResource("SpriteFrames_7w2s0")
|
||||
frame_progress = 0.105423
|
||||
|
||||
[node name="DialogueZone" type="Area3D" parent="."]
|
||||
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
|
||||
pixel_size = 0.02
|
||||
billboard = 2
|
||||
shaded = true
|
||||
double_sided = false
|
||||
alpha_cut = 2
|
||||
alpha_cut = 3
|
||||
texture_filter = 1
|
||||
texture = SubResource("ViewportTexture_3udpp")
|
||||
|
||||
|
||||
@@ -96,555 +96,555 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<ISaveChunk<Play
|
||||
#region Initialization
|
||||
public void InitializePlayerState()
|
||||
{
|
||||
Inventory = new Inventory();
|
||||
Stats = InitializePlayerStats();
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
Inventory = new Inventory();
|
||||
Stats = InitializePlayerStats();
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
|
||||
EquippedWeapon.Changed += EquippedWeapon_Sync;
|
||||
EquippedArmor.Changed += EquippedArmor_Sync;
|
||||
EquippedAccessory.Changed += EquippedAccessory_Sync;
|
||||
Stats.CurrentHP.Changed += CurrentHP_Sync;
|
||||
Stats.CurrentExp.Changed += CurrentEXP_Sync;
|
||||
HealthTimer.WaitTime = _healthTimerWaitTime;
|
||||
HealthTimer.Timeout += OnHealthTimerTimeout;
|
||||
EquippedWeapon.Changed += EquippedWeapon_Sync;
|
||||
EquippedArmor.Changed += EquippedArmor_Sync;
|
||||
EquippedAccessory.Changed += EquippedAccessory_Sync;
|
||||
Stats.CurrentHP.Changed += CurrentHP_Sync;
|
||||
Stats.CurrentExp.Changed += CurrentEXP_Sync;
|
||||
HealthTimer.WaitTime = _healthTimerWaitTime;
|
||||
HealthTimer.Timeout += OnHealthTimerTimeout;
|
||||
}
|
||||
|
||||
public void Setup()
|
||||
{
|
||||
var container = new SimpleInjector.Container();
|
||||
container.Register<IPlayerLogic, PlayerLogic>(Lifestyle.Singleton);
|
||||
//container.Verify();
|
||||
var container = new SimpleInjector.Container();
|
||||
container.Register<IPlayerLogic, PlayerLogic>(Lifestyle.Singleton);
|
||||
//container.Verify();
|
||||
|
||||
PlayerLogic = container.GetInstance<IPlayerLogic>();
|
||||
PlayerLogic.Set(this as IPlayer);
|
||||
PlayerLogic.Set(Settings);
|
||||
PlayerLogic.Set(Stats);
|
||||
PlayerLogic.Set(_gameRepo);
|
||||
PlayerLogic = container.GetInstance<IPlayerLogic>();
|
||||
PlayerLogic.Set(this as IPlayer);
|
||||
PlayerLogic.Set(Settings);
|
||||
PlayerLogic.Set(Stats);
|
||||
PlayerLogic.Set(_gameRepo);
|
||||
|
||||
_damageCalculator = new DamageCalculator();
|
||||
_damageCalculator = new DamageCalculator();
|
||||
|
||||
Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||
CollisionDetector.AreaEntered += CollisionDetector_AreaEntered;
|
||||
AnimationPlayer.AnimationFinished += OnAnimationFinished;
|
||||
Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||
CollisionDetector.AreaEntered += CollisionDetector_AreaEntered;
|
||||
AnimationPlayer.AnimationFinished += OnAnimationFinished;
|
||||
}
|
||||
|
||||
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>(
|
||||
onSave: (chunk) => new PlayerData()
|
||||
{
|
||||
PlayerStats = Stats,
|
||||
Inventory = Inventory
|
||||
},
|
||||
onLoad: (chunk, data) =>
|
||||
{
|
||||
Stats = new PlayerStats(
|
||||
data.PlayerStats.CurrentHP,
|
||||
data.PlayerStats.MaximumHP,
|
||||
data.PlayerStats.CurrentVT,
|
||||
data.PlayerStats.MaximumVT,
|
||||
data.PlayerStats.CurrentAttack,
|
||||
data.PlayerStats.BonusAttack,
|
||||
data.PlayerStats.MaxAttack,
|
||||
data.PlayerStats.CurrentDefense,
|
||||
data.PlayerStats.BonusDefense,
|
||||
data.PlayerStats.MaxDefense,
|
||||
data.PlayerStats.CurrentExp,
|
||||
data.PlayerStats.CurrentLevel,
|
||||
data.PlayerStats.ExpToNextLevel,
|
||||
data.PlayerStats.Luck);
|
||||
Inventory = data.Inventory;
|
||||
}
|
||||
);
|
||||
PlayerChunk = new SaveChunk<PlayerData>(
|
||||
onSave: (chunk) => new PlayerData()
|
||||
{
|
||||
PlayerStats = Stats,
|
||||
Inventory = Inventory
|
||||
},
|
||||
onLoad: (chunk, data) =>
|
||||
{
|
||||
Stats = new PlayerStats(
|
||||
data.PlayerStats.CurrentHP,
|
||||
data.PlayerStats.MaximumHP,
|
||||
data.PlayerStats.CurrentVT,
|
||||
data.PlayerStats.MaximumVT,
|
||||
data.PlayerStats.CurrentAttack,
|
||||
data.PlayerStats.BonusAttack,
|
||||
data.PlayerStats.MaxAttack,
|
||||
data.PlayerStats.CurrentDefense,
|
||||
data.PlayerStats.BonusDefense,
|
||||
data.PlayerStats.MaxDefense,
|
||||
data.PlayerStats.CurrentExp,
|
||||
data.PlayerStats.CurrentLevel,
|
||||
data.PlayerStats.ExpToNextLevel,
|
||||
data.PlayerStats.Luck);
|
||||
Inventory = data.Inventory;
|
||||
}
|
||||
);
|
||||
|
||||
PlayerBinding = PlayerLogic.Bind();
|
||||
PlayerBinding = PlayerLogic.Bind();
|
||||
|
||||
PlayerBinding
|
||||
.Handle((in PlayerLogic.Output.Animations.Attack output) =>
|
||||
{
|
||||
if (PlayerIsHittingGeometry())
|
||||
{
|
||||
AnimationPlayer.Play("hit_wall");
|
||||
_gameRepo.OnPlayerAttackedWall();
|
||||
}
|
||||
else
|
||||
{
|
||||
PlayAttackAnimation();
|
||||
}
|
||||
})
|
||||
.Handle((in PlayerLogic.Output.ThrowItem output) =>
|
||||
{
|
||||
})
|
||||
.Handle((in PlayerLogic.Output.Move output) =>
|
||||
{
|
||||
Move(output.delta);
|
||||
});
|
||||
PlayerBinding
|
||||
.Handle((in PlayerLogic.Output.Animations.Attack output) =>
|
||||
{
|
||||
if (PlayerIsHittingGeometry())
|
||||
{
|
||||
AnimationPlayer.Play("hit_wall");
|
||||
_gameRepo.OnPlayerAttackedWall();
|
||||
}
|
||||
else
|
||||
{
|
||||
PlayAttackAnimation();
|
||||
}
|
||||
})
|
||||
.Handle((in PlayerLogic.Output.ThrowItem output) =>
|
||||
{
|
||||
})
|
||||
.Handle((in PlayerLogic.Output.Move output) =>
|
||||
{
|
||||
Move(output.delta);
|
||||
});
|
||||
|
||||
GameChunk.AddChunk(PlayerChunk);
|
||||
GameChunk.AddChunk(PlayerChunk);
|
||||
|
||||
PlayerLogic.Start();
|
||||
this.Provide();
|
||||
PlayerLogic.Start();
|
||||
this.Provide();
|
||||
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
}
|
||||
|
||||
public void OnReady()
|
||||
{
|
||||
SwordSlashAnimation.Position = GetViewport().GetVisibleRect().Size / 2;
|
||||
SwordSlashAnimation.Position = GetViewport().GetVisibleRect().Size / 2;
|
||||
}
|
||||
#endregion
|
||||
|
||||
public void Activate()
|
||||
{
|
||||
SetProcessInput(true);
|
||||
SetPhysicsProcess(true);
|
||||
SetHealthTimerStatus(HealthTimerIsActive);
|
||||
SetProcessInput(true);
|
||||
SetPhysicsProcess(true);
|
||||
SetHealthTimerStatus(HealthTimerIsActive);
|
||||
}
|
||||
|
||||
public void Deactivate()
|
||||
{
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
SetHealthTimerStatus(false);
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
SetHealthTimerStatus(false);
|
||||
}
|
||||
|
||||
public void Attack()
|
||||
{
|
||||
PlayerLogic.Input(new PlayerLogic.Input.Attack());
|
||||
PlayerLogic.Input(new PlayerLogic.Input.Attack());
|
||||
}
|
||||
|
||||
public void RaiseHP(int amountToRaise)
|
||||
{
|
||||
Stats.SetMaximumHP(Stats.MaximumHP.Value + amountToRaise);
|
||||
Stats.SetCurrentHP(Stats.MaximumHP.Value);
|
||||
_gameRepo.AnnounceMessageInInventory($"{amountToRaise}MAXHP Up.");
|
||||
Stats.SetMaximumHP(Stats.MaximumHP.Value + amountToRaise);
|
||||
Stats.SetCurrentHP(Stats.MaximumHP.Value);
|
||||
_gameRepo.AnnounceMessageInInventory($"{amountToRaise}MAXHP Up.");
|
||||
}
|
||||
|
||||
public void HealHP(int amountToRestore)
|
||||
{
|
||||
Stats.SetCurrentHP(Stats.CurrentHP.Value + amountToRestore);
|
||||
var raiseString = amountToRestore == 1000 ? "MAX" : $"{amountToRestore}";
|
||||
_gameRepo.AnnounceMessageInInventory($"{raiseString}HP Restored.");
|
||||
Stats.SetCurrentHP(Stats.CurrentHP.Value + amountToRestore);
|
||||
var raiseString = amountToRestore == 1000 ? "MAX" : $"{amountToRestore}";
|
||||
_gameRepo.AnnounceMessageInInventory($"{raiseString}HP Restored.");
|
||||
}
|
||||
|
||||
public void RaiseVT(int amountToRaise)
|
||||
{
|
||||
if (Stats.CurrentVT == Stats.MaximumVT)
|
||||
{
|
||||
Stats.SetMaximumVT(Stats.MaximumVT.Value + amountToRaise);
|
||||
Stats.SetCurrentVT(Stats.MaximumVT.Value);
|
||||
_gameRepo.AnnounceMessageInInventory($"{amountToRaise}MAXVT Up.");
|
||||
}
|
||||
if (Stats.CurrentVT == Stats.MaximumVT)
|
||||
{
|
||||
Stats.SetMaximumVT(Stats.MaximumVT.Value + amountToRaise);
|
||||
Stats.SetCurrentVT(Stats.MaximumVT.Value);
|
||||
_gameRepo.AnnounceMessageInInventory($"{amountToRaise}MAXVT Up.");
|
||||
}
|
||||
}
|
||||
|
||||
public void HealVT(int amountToRestore)
|
||||
{
|
||||
Stats.SetCurrentVT(Stats.CurrentVT.Value + amountToRestore);
|
||||
var raiseString = amountToRestore == 1000 ? "MAX" : $"{amountToRestore}";
|
||||
_gameRepo.AnnounceMessageInInventory($"{raiseString}VT Restored.");
|
||||
Stats.SetCurrentVT(Stats.CurrentVT.Value + amountToRestore);
|
||||
var raiseString = amountToRestore == 1000 ? "MAX" : $"{amountToRestore}";
|
||||
_gameRepo.AnnounceMessageInInventory($"{raiseString}VT Restored.");
|
||||
}
|
||||
|
||||
public void ModifyBonusAttack(int amount)
|
||||
{
|
||||
Stats.SetBonusAttack(Stats.BonusAttack.Value + amount);
|
||||
Stats.SetBonusAttack(Stats.BonusAttack.Value + amount);
|
||||
}
|
||||
|
||||
public void ModifyBonusDefense(int amount)
|
||||
{
|
||||
Stats.SetBonusDefense(Stats.BonusDefense.Value + amount);
|
||||
Stats.SetBonusDefense(Stats.BonusDefense.Value + amount);
|
||||
}
|
||||
|
||||
public void ModifyMaximumHP(int amount)
|
||||
{
|
||||
Stats.SetMaximumHP(Stats.MaximumHP.Value + amount);
|
||||
Stats.SetMaximumHP(Stats.MaximumHP.Value + amount);
|
||||
}
|
||||
|
||||
public void ModifyMaximumVT(int amount)
|
||||
{
|
||||
Stats.SetMaximumVT(Stats.MaximumVT.Value + amount);
|
||||
Stats.SetMaximumVT(Stats.MaximumVT.Value + amount);
|
||||
}
|
||||
|
||||
public void ModifyBonusLuck(double amount)
|
||||
{
|
||||
Stats.SetLuck(Stats.Luck.Value + amount);
|
||||
Stats.SetLuck(Stats.Luck.Value + amount);
|
||||
}
|
||||
|
||||
public void SetHealthTimerStatus(bool isActive)
|
||||
{
|
||||
if (isActive)
|
||||
HealthTimer.Start();
|
||||
else
|
||||
HealthTimer.Stop();
|
||||
if (isActive)
|
||||
HealthTimer.Start();
|
||||
else
|
||||
HealthTimer.Stop();
|
||||
}
|
||||
|
||||
public void Move(float delta)
|
||||
{
|
||||
var rawInput = GlobalInputVector;
|
||||
var strafeLeftInput = LeftStrafeInputVector;
|
||||
var strafeRightInput = RightStrafeInputVector;
|
||||
var rawInput = GlobalInputVector;
|
||||
var strafeLeftInput = LeftStrafeInputVector;
|
||||
var strafeRightInput = RightStrafeInputVector;
|
||||
|
||||
var transform = Transform;
|
||||
transform.Basis = new Basis(Vector3.Up, Settings.RotationSpeed * -rawInput.X * delta) * transform.Basis;
|
||||
var moveDirection = new Vector3(strafeRightInput - strafeLeftInput, 0, rawInput.Z).Normalized();
|
||||
var velocity = Basis * moveDirection * Settings.MoveSpeed * Settings.Acceleration;
|
||||
_knockbackStrength *= 0.9f;
|
||||
Transform = Transform with { Basis = transform.Basis };
|
||||
Velocity = velocity + (_knockbackDirection * _knockbackStrength);
|
||||
MoveAndSlide();
|
||||
var transform = Transform;
|
||||
transform.Basis = new Basis(Vector3.Up, Settings.RotationSpeed * -rawInput.X * delta) * transform.Basis;
|
||||
var moveDirection = new Vector3(strafeRightInput - strafeLeftInput, 0, rawInput.Z).Normalized();
|
||||
var velocity = Basis * moveDirection * Settings.MoveSpeed * Settings.Acceleration;
|
||||
_knockbackStrength *= 0.9f;
|
||||
Transform = Transform with { Basis = transform.Basis };
|
||||
Velocity = velocity + (_knockbackDirection * _knockbackStrength);
|
||||
MoveAndSlide();
|
||||
}
|
||||
|
||||
public void TeleportPlayer(Transform3D newTransform)
|
||||
{
|
||||
Transform = newTransform;
|
||||
Transform = newTransform;
|
||||
}
|
||||
|
||||
public void TakeDamage(double damage, ElementType elementType, bool isCriticalHit = false)
|
||||
{
|
||||
if (Stats.CurrentHP.Value > 0)
|
||||
{
|
||||
_damageCalculator.CalculateDamage(damage, elementType, Stats.CurrentDefense.Value + Stats.BonusDefense.Value, ((Armor)_equippedArmor.Value).Stats.ElementalResistanceSet);
|
||||
Stats.SetCurrentHP(Stats.CurrentHP.Value - (int)damage);
|
||||
}
|
||||
if (Stats.CurrentHP.Value > 0)
|
||||
{
|
||||
_damageCalculator.CalculateDamage(damage, elementType, Stats.CurrentDefense.Value + Stats.BonusDefense.Value, ((Armor)_equippedArmor.Value).Stats.ElementalResistanceSet);
|
||||
Stats.SetCurrentHP(Stats.CurrentHP.Value - (int)damage);
|
||||
}
|
||||
}
|
||||
|
||||
public void Knockback(float impulse)
|
||||
{
|
||||
_knockbackStrength = impulse;
|
||||
_knockbackDirection = GlobalBasis.Z.Normalized();
|
||||
_knockbackStrength = impulse;
|
||||
_knockbackDirection = GlobalBasis.Z.Normalized();
|
||||
}
|
||||
|
||||
public void GainExp(double expGained)
|
||||
{
|
||||
Stats.SetCurrentExp(Stats.CurrentExp.Value + expGained);
|
||||
Stats.SetCurrentExp(Stats.CurrentExp.Value + expGained);
|
||||
}
|
||||
|
||||
public void LevelUp()
|
||||
{
|
||||
var rng = new RandomNumberGenerator();
|
||||
rng.Randomize();
|
||||
var hpIncrease = rng.RandiRange(3, 6);
|
||||
Stats.SetMaximumHP(Stats.MaximumHP.Value + hpIncrease);
|
||||
var nextLevel = Stats.CurrentLevel.Value + 1;
|
||||
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);
|
||||
Stats.SetCurrentLevel(nextLevel);
|
||||
Stats.SetExpToNextLevel(expToNextLevel);
|
||||
Stats.SetCurrentExp(newCurrentExp);
|
||||
var rng = new RandomNumberGenerator();
|
||||
rng.Randomize();
|
||||
var hpIncrease = rng.RandiRange(3, 6);
|
||||
Stats.SetMaximumHP(Stats.MaximumHP.Value + hpIncrease);
|
||||
var nextLevel = Stats.CurrentLevel.Value + 1;
|
||||
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);
|
||||
Stats.SetCurrentLevel(nextLevel);
|
||||
Stats.SetExpToNextLevel(expToNextLevel);
|
||||
Stats.SetCurrentExp(newCurrentExp);
|
||||
}
|
||||
|
||||
public void Die()
|
||||
{
|
||||
EquippedWeapon.Sync -= EquippedWeapon_Sync;
|
||||
EquippedArmor.Sync -= EquippedArmor_Sync;
|
||||
EquippedAccessory.Sync -= EquippedAccessory_Sync;
|
||||
Stats.CurrentHP.Sync -= CurrentHP_Sync;
|
||||
Stats.CurrentExp.Sync -= CurrentEXP_Sync;
|
||||
EquippedWeapon.Sync -= EquippedWeapon_Sync;
|
||||
EquippedArmor.Sync -= EquippedArmor_Sync;
|
||||
EquippedAccessory.Sync -= EquippedAccessory_Sync;
|
||||
Stats.CurrentHP.Sync -= CurrentHP_Sync;
|
||||
Stats.CurrentExp.Sync -= CurrentEXP_Sync;
|
||||
|
||||
HealthTimer.WaitTime = _healthTimerWaitTime;
|
||||
HealthTimer.Timeout -= OnHealthTimerTimeout;
|
||||
SwordSlashAnimation.Stop();
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
//Hitbox.AreaEntered -= Hitbox_AreaEntered;
|
||||
//CollisionDetector.AreaEntered -= CollisionDetector_AreaEntered;
|
||||
//AnimationPlayer.AnimationFinished -= OnAnimationFinished;
|
||||
HealthTimer.WaitTime = _healthTimerWaitTime;
|
||||
HealthTimer.Timeout -= OnHealthTimerTimeout;
|
||||
SwordSlashAnimation.Stop();
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
//Hitbox.AreaEntered -= Hitbox_AreaEntered;
|
||||
//CollisionDetector.AreaEntered -= CollisionDetector_AreaEntered;
|
||||
//AnimationPlayer.AnimationFinished -= OnAnimationFinished;
|
||||
|
||||
Game.GameOver();
|
||||
Game.GameOver();
|
||||
}
|
||||
|
||||
public override void _Input(InputEvent @event)
|
||||
{
|
||||
if (@event.IsActionPressed(GameInputs.Attack))
|
||||
Attack();
|
||||
if (@event.IsActionPressed(GameInputs.Sprint))
|
||||
Settings.MoveSpeed *= 2;
|
||||
if (@event.IsActionReleased(GameInputs.Sprint))
|
||||
Settings.MoveSpeed /= 2;
|
||||
if (@event.IsActionPressed(GameInputs.Attack))
|
||||
Attack();
|
||||
if (@event.IsActionPressed(GameInputs.Sprint))
|
||||
Settings.MoveSpeed *= 2;
|
||||
if (@event.IsActionReleased(GameInputs.Sprint))
|
||||
Settings.MoveSpeed /= 2;
|
||||
}
|
||||
|
||||
public void OnPhysicsProcess(double delta)
|
||||
{
|
||||
PlayerLogic.Input(new PlayerLogic.Input.PhysicsTick(delta));
|
||||
PlayerLogic.Input(new PlayerLogic.Input.Moved(GlobalPosition, GlobalTransform));
|
||||
PlayerLogic.Input(new PlayerLogic.Input.PhysicsTick(delta));
|
||||
PlayerLogic.Input(new PlayerLogic.Input.Moved(GlobalPosition, GlobalTransform));
|
||||
}
|
||||
|
||||
public void Equip(EquipableItem equipable)
|
||||
{
|
||||
if (equipable.ItemTag == ItemTag.MysteryItem)
|
||||
{
|
||||
var rerolledItem = Game.RerollItem(equipable) as EquipableItem;
|
||||
Equip(rerolledItem);
|
||||
return;
|
||||
}
|
||||
if (equipable.ItemTag == ItemTag.MysteryItem)
|
||||
{
|
||||
var rerolledItem = Game.RerollItem(equipable) as EquipableItem;
|
||||
Equip(rerolledItem);
|
||||
return;
|
||||
}
|
||||
|
||||
if (equipable is Weapon weapon)
|
||||
{
|
||||
Unequip(_equippedWeapon.Value);
|
||||
weapon.IsEquipped = true;
|
||||
_equippedWeapon.OnNext(weapon);
|
||||
}
|
||||
else if (equipable is Armor armor)
|
||||
{
|
||||
Unequip(_equippedArmor.Value);
|
||||
armor.IsEquipped = true;
|
||||
_equippedArmor.OnNext(armor);
|
||||
}
|
||||
else if (equipable is Accessory accessory)
|
||||
{
|
||||
Unequip(_equippedAccessory.Value);
|
||||
accessory.IsEquipped = true;
|
||||
_equippedAccessory.OnNext(accessory);
|
||||
}
|
||||
else
|
||||
throw new NotImplementedException("Item type is not supported.");
|
||||
if (equipable is Weapon weapon)
|
||||
{
|
||||
Unequip(_equippedWeapon.Value);
|
||||
weapon.IsEquipped = true;
|
||||
_equippedWeapon.OnNext(weapon);
|
||||
}
|
||||
else if (equipable is Armor armor)
|
||||
{
|
||||
Unequip(_equippedArmor.Value);
|
||||
armor.IsEquipped = true;
|
||||
_equippedArmor.OnNext(armor);
|
||||
}
|
||||
else if (equipable is Accessory accessory)
|
||||
{
|
||||
Unequip(_equippedAccessory.Value);
|
||||
accessory.IsEquipped = true;
|
||||
_equippedAccessory.OnNext(accessory);
|
||||
}
|
||||
else
|
||||
throw new NotImplementedException("Item type is not supported.");
|
||||
}
|
||||
|
||||
public void Unequip(EquipableItem equipable)
|
||||
{
|
||||
if (equipable is Weapon weapon)
|
||||
{
|
||||
weapon.IsEquipped = false;
|
||||
ModifyBonusAttack(-weapon.Damage);
|
||||
_equippedWeapon.OnNext(new Weapon());
|
||||
}
|
||||
else if (equipable is Armor armor)
|
||||
{
|
||||
armor.IsEquipped = false;
|
||||
ModifyBonusDefense(-armor.Defense);
|
||||
_equippedArmor.OnNext(new Armor());
|
||||
}
|
||||
else if (equipable is Accessory accessory)
|
||||
{
|
||||
accessory.IsEquipped = false;
|
||||
ModifyMaximumHP(-accessory.MaxHPUp);
|
||||
ModifyMaximumVT(-accessory.MaxVTUp);
|
||||
ModifyBonusAttack(-accessory.ATKUp);
|
||||
ModifyBonusDefense(-accessory.DEFUp);
|
||||
ModifyBonusLuck(-accessory.LuckUp);
|
||||
_equippedAccessory.OnNext(new Accessory());
|
||||
}
|
||||
else
|
||||
throw new NotImplementedException("Item type is not supported.");
|
||||
if (equipable is Weapon weapon)
|
||||
{
|
||||
weapon.IsEquipped = false;
|
||||
ModifyBonusAttack(-weapon.Damage);
|
||||
_equippedWeapon.OnNext(new Weapon());
|
||||
}
|
||||
else if (equipable is Armor armor)
|
||||
{
|
||||
armor.IsEquipped = false;
|
||||
ModifyBonusDefense(-armor.Defense);
|
||||
_equippedArmor.OnNext(new Armor());
|
||||
}
|
||||
else if (equipable is Accessory accessory)
|
||||
{
|
||||
accessory.IsEquipped = false;
|
||||
ModifyMaximumHP(-accessory.MaxHPUp);
|
||||
ModifyMaximumVT(-accessory.MaxVTUp);
|
||||
ModifyBonusAttack(-accessory.ATKUp);
|
||||
ModifyBonusDefense(-accessory.DEFUp);
|
||||
ModifyBonusLuck(-accessory.LuckUp);
|
||||
_equippedAccessory.OnNext(new Accessory());
|
||||
}
|
||||
else
|
||||
throw new NotImplementedException("Item type is not supported.");
|
||||
}
|
||||
|
||||
private static Vector3 GlobalInputVector
|
||||
{
|
||||
get
|
||||
{
|
||||
var rawInput = Input.GetVector(GameInputs.MoveLeft, GameInputs.MoveRight, GameInputs.MoveUp, GameInputs.MoveDown);
|
||||
var input = new Vector3
|
||||
{
|
||||
X = rawInput.X,
|
||||
Z = rawInput.Y
|
||||
};
|
||||
return input with { Y = 0f };
|
||||
}
|
||||
get
|
||||
{
|
||||
var rawInput = Input.GetVector(GameInputs.MoveLeft, GameInputs.MoveRight, GameInputs.MoveUp, GameInputs.MoveDown);
|
||||
var input = new Vector3
|
||||
{
|
||||
X = rawInput.X,
|
||||
Z = rawInput.Y
|
||||
};
|
||||
return input with { Y = 0f };
|
||||
}
|
||||
}
|
||||
|
||||
private static float LeftStrafeInputVector
|
||||
{
|
||||
get
|
||||
{
|
||||
return Input.GetActionStrength(GameInputs.StrafeLeft);
|
||||
}
|
||||
get
|
||||
{
|
||||
return Input.GetActionStrength(GameInputs.StrafeLeft);
|
||||
}
|
||||
}
|
||||
|
||||
private static float RightStrafeInputVector
|
||||
{
|
||||
get
|
||||
{
|
||||
return Input.GetActionStrength(GameInputs.StrafeRight);
|
||||
}
|
||||
get
|
||||
{
|
||||
return Input.GetActionStrength(GameInputs.StrafeRight);
|
||||
}
|
||||
}
|
||||
|
||||
private void ThrowItem()
|
||||
{
|
||||
var itemScene = GD.Load<PackedScene>("res://src/items/throwable/ThrowableItem.tscn");
|
||||
var throwItem = itemScene.Instantiate<ThrowableItem>();
|
||||
GetTree().Root.AddChildEx(throwItem);
|
||||
throwItem.GlobalPosition = CurrentPosition + new Vector3(0, 3.5f, 0);
|
||||
throwItem.GlobalRotation = GlobalRotation;
|
||||
var itemScene = GD.Load<PackedScene>("res://src/items/throwable/ThrowableItem.tscn");
|
||||
var throwItem = itemScene.Instantiate<ThrowableItem>();
|
||||
GetTree().Root.AddChildEx(throwItem);
|
||||
throwItem.GlobalPosition = CurrentPosition + new Vector3(0, 3.5f, 0);
|
||||
throwItem.GlobalRotation = GlobalRotation;
|
||||
}
|
||||
|
||||
private void PlayAttackAnimation()
|
||||
{
|
||||
var attackSpeed = ((Weapon)EquippedWeapon.Value).AttackSpeed;
|
||||
AnimationPlayer.SetSpeedScale((float)attackSpeed);
|
||||
if (EquippedWeapon.Value.ItemName == "Atonement")
|
||||
AnimationPlayer.Play("atonement_attack");
|
||||
else
|
||||
AnimationPlayer.Play("attack");
|
||||
_gameRepo.OnPlayerAttack();
|
||||
var attackSpeed = ((Weapon)EquippedWeapon.Value).AttackSpeed;
|
||||
AnimationPlayer.SetSpeedScale((float)attackSpeed);
|
||||
if (EquippedWeapon.Value.ItemName == "Atonement")
|
||||
AnimationPlayer.Play("atonement_attack");
|
||||
else
|
||||
AnimationPlayer.Play("attack");
|
||||
_gameRepo.OnPlayerAttack();
|
||||
}
|
||||
|
||||
private void OnAnimationFinished(StringName animation)
|
||||
{
|
||||
PlayerLogic.Input(new PlayerLogic.Input.AttackAnimationFinished());
|
||||
PlayerLogic.Input(new PlayerLogic.Input.AttackAnimationFinished());
|
||||
}
|
||||
|
||||
private void OnExitTree()
|
||||
{
|
||||
PlayerLogic.Stop();
|
||||
PlayerBinding.Dispose();
|
||||
AnimationPlayer.AnimationFinished -= OnAnimationFinished;
|
||||
PlayerLogic.Stop();
|
||||
PlayerBinding.Dispose();
|
||||
AnimationPlayer.AnimationFinished -= OnAnimationFinished;
|
||||
}
|
||||
|
||||
private void OnPlayerPositionUpdated(Vector3 globalPosition) => GlobalPosition = globalPosition;
|
||||
|
||||
private void OnHealthTimerTimeout()
|
||||
{
|
||||
if (Stats.CurrentHP.Value <= 0)
|
||||
return;
|
||||
if (Stats.CurrentHP.Value <= 0)
|
||||
return;
|
||||
|
||||
if (Stats.CurrentVT.Value > 0)
|
||||
{
|
||||
if (((Accessory)EquippedAccessory.Value).AccessoryTag == AccessoryTag.HalfVTConsumption)
|
||||
{
|
||||
reduceOnTick = !reduceOnTick;
|
||||
}
|
||||
Stats.SetCurrentHP(Stats.CurrentHP.Value + 1);
|
||||
if (reduceOnTick)
|
||||
Stats.SetCurrentVT(Stats.CurrentVT.Value - 1);
|
||||
}
|
||||
else
|
||||
Stats.SetCurrentHP(Stats.CurrentHP.Value - 1);
|
||||
if (Stats.CurrentVT.Value > 0)
|
||||
{
|
||||
if (((Accessory)EquippedAccessory.Value).AccessoryTag == AccessoryTag.HalfVTConsumption)
|
||||
{
|
||||
reduceOnTick = !reduceOnTick;
|
||||
}
|
||||
Stats.SetCurrentHP(Stats.CurrentHP.Value + 1);
|
||||
if (reduceOnTick)
|
||||
Stats.SetCurrentVT(Stats.CurrentVT.Value - 1);
|
||||
}
|
||||
else
|
||||
Stats.SetCurrentHP(Stats.CurrentHP.Value - 1);
|
||||
}
|
||||
|
||||
private void EquippedWeapon_Sync(EquipableItem obj)
|
||||
{
|
||||
ModifyBonusAttack(((Weapon)obj).Damage);
|
||||
ModifyBonusAttack(((Weapon)obj).Damage);
|
||||
}
|
||||
|
||||
private void EquippedArmor_Sync(EquipableItem obj)
|
||||
{
|
||||
ModifyBonusDefense(((Armor)obj).Defense);
|
||||
ModifyBonusDefense(((Armor)obj).Defense);
|
||||
}
|
||||
|
||||
private void EquippedAccessory_Sync(EquipableItem accessory)
|
||||
{
|
||||
ModifyMaximumHP(((Accessory)accessory).MaxHPUp);
|
||||
ModifyMaximumVT(((Accessory)accessory).MaxVTUp);
|
||||
ModifyBonusAttack(((Accessory)accessory).ATKUp);
|
||||
ModifyBonusDefense(((Accessory)accessory).DEFUp);
|
||||
ModifyBonusLuck(((Accessory)accessory).LuckUp);
|
||||
ModifyMaximumHP(((Accessory)accessory).MaxHPUp);
|
||||
ModifyMaximumVT(((Accessory)accessory).MaxVTUp);
|
||||
ModifyBonusAttack(((Accessory)accessory).ATKUp);
|
||||
ModifyBonusDefense(((Accessory)accessory).DEFUp);
|
||||
ModifyBonusLuck(((Accessory)accessory).LuckUp);
|
||||
}
|
||||
|
||||
private void CurrentHP_Sync(int newHealth)
|
||||
{
|
||||
if (newHealth <= 0)
|
||||
Die();
|
||||
if (newHealth <= 0)
|
||||
Die();
|
||||
}
|
||||
|
||||
private void CurrentEXP_Sync(double newExp)
|
||||
{
|
||||
if (Stats.CurrentExp.Value >= Stats.ExpToNextLevel.Value)
|
||||
LevelUp();
|
||||
if (Stats.CurrentExp.Value >= Stats.ExpToNextLevel.Value)
|
||||
LevelUp();
|
||||
}
|
||||
|
||||
private void Hitbox_AreaEntered(Area3D area)
|
||||
{
|
||||
var target = area.GetOwner();
|
||||
if (target is IEnemy enemy)
|
||||
HitEnemy(enemy);
|
||||
var target = area.GetOwner();
|
||||
if (target is IEnemy enemy)
|
||||
HitEnemy(enemy);
|
||||
}
|
||||
|
||||
private void HitEnemy(IEnemy enemy)
|
||||
{
|
||||
var attackValue = Stats.CurrentAttack.Value + Stats.BonusAttack.Value;
|
||||
var ignoreElementalResistance = ((Weapon)EquippedWeapon.Value).WeaponTag == WeaponTag.IgnoreAffinity;
|
||||
var isCriticalHit = BattleExtensions.IsCriticalHit(Stats.Luck.Value);
|
||||
var element = ((Weapon)EquippedWeapon.Value).WeaponElement;
|
||||
var attackValue = Stats.CurrentAttack.Value + Stats.BonusAttack.Value;
|
||||
var ignoreElementalResistance = ((Weapon)EquippedWeapon.Value).WeaponTag == WeaponTag.IgnoreAffinity;
|
||||
var isCriticalHit = BattleExtensions.IsCriticalHit(Stats.Luck.Value);
|
||||
var element = ((Weapon)EquippedWeapon.Value).WeaponElement;
|
||||
|
||||
enemy.TakeDamage(
|
||||
attackValue * ((Weapon)EquippedWeapon.Value).ElementalDamageBonus,
|
||||
element,
|
||||
isCriticalHit,
|
||||
false,
|
||||
ignoreElementalResistance);
|
||||
enemy.TakeDamage(
|
||||
attackValue * ((Weapon)EquippedWeapon.Value).ElementalDamageBonus,
|
||||
element,
|
||||
isCriticalHit,
|
||||
false,
|
||||
ignoreElementalResistance);
|
||||
|
||||
if (((Weapon)EquippedWeapon.Value).WeaponTag == WeaponTag.Knockback)
|
||||
enemy.Knockback(0.3f, -CurrentBasis.Z.Normalized());
|
||||
if (((Weapon)EquippedWeapon.Value).WeaponTag == WeaponTag.Knockback)
|
||||
enemy.Knockback(0.3f, -CurrentBasis.Z.Normalized());
|
||||
|
||||
_gameRepo.OnPlayerAttackedEnemy();
|
||||
_gameRepo.OnPlayerAttackedEnemy();
|
||||
}
|
||||
|
||||
private void CollisionDetector_AreaEntered(Area3D area)
|
||||
{
|
||||
if (area.GetParent() is InventoryItem inventoryItem)
|
||||
{
|
||||
var isAdded = Inventory.TryAdd(inventoryItem);
|
||||
if (isAdded)
|
||||
{
|
||||
_gameRepo.AnnounceMessageOnMainScreen($"{inventoryItem.ItemName} picked up.");
|
||||
inventoryItem.QueueFree();
|
||||
}
|
||||
else
|
||||
_gameRepo.AnnounceMessageOnMainScreen($"Could not pick up {inventoryItem.ItemName}.");
|
||||
}
|
||||
if (area.GetParent() is DroppedItem droppedItem)
|
||||
{
|
||||
var isAdded = Inventory.TryAdd(droppedItem.Item);
|
||||
if (isAdded)
|
||||
{
|
||||
_gameRepo.AnnounceMessageOnMainScreen($"{droppedItem.Item.ItemName} picked up.");
|
||||
droppedItem.QueueFree();
|
||||
}
|
||||
else
|
||||
_gameRepo.AnnounceMessageOnMainScreen($"Could not pick up {droppedItem.Item.ItemName}.");
|
||||
}
|
||||
if (area.GetParent() is ThrownItem thrownItem)
|
||||
{
|
||||
var isAdded = Inventory.TryAdd(thrownItem.ItemThatIsThrown);
|
||||
if (isAdded)
|
||||
{
|
||||
_gameRepo.AnnounceMessageOnMainScreen($"{thrownItem.ItemThatIsThrown.ItemName} picked up.");
|
||||
thrownItem.QueueFree();
|
||||
}
|
||||
else
|
||||
_gameRepo.AnnounceMessageOnMainScreen($"Could not pick up {thrownItem.ItemThatIsThrown.ItemName}.");
|
||||
}
|
||||
if (area.GetParent() is Restorative restorative)
|
||||
{
|
||||
_gameRepo.OnRestorativePickedUp(restorative);
|
||||
restorative.QueueFree();
|
||||
}
|
||||
if (area.GetParent() is InventoryItem inventoryItem)
|
||||
{
|
||||
var isAdded = Inventory.TryAdd(inventoryItem);
|
||||
if (isAdded)
|
||||
{
|
||||
_gameRepo.AnnounceMessageOnMainScreen($"{inventoryItem.ItemName} picked up.");
|
||||
inventoryItem.QueueFree();
|
||||
}
|
||||
else
|
||||
_gameRepo.AnnounceMessageOnMainScreen($"Could not pick up {inventoryItem.ItemName}.");
|
||||
}
|
||||
if (area.GetParent() is DroppedItem droppedItem)
|
||||
{
|
||||
var isAdded = Inventory.TryAdd(droppedItem.Item);
|
||||
if (isAdded)
|
||||
{
|
||||
_gameRepo.AnnounceMessageOnMainScreen($"{droppedItem.Item.ItemName} picked up.");
|
||||
droppedItem.QueueFree();
|
||||
}
|
||||
else
|
||||
_gameRepo.AnnounceMessageOnMainScreen($"Could not pick up {droppedItem.Item.ItemName}.");
|
||||
}
|
||||
if (area.GetParent() is ThrownItem thrownItem)
|
||||
{
|
||||
var isAdded = Inventory.TryAdd(thrownItem.ItemThatIsThrown);
|
||||
if (isAdded)
|
||||
{
|
||||
_gameRepo.AnnounceMessageOnMainScreen($"{thrownItem.ItemThatIsThrown.ItemName} picked up.");
|
||||
thrownItem.QueueFree();
|
||||
}
|
||||
else
|
||||
_gameRepo.AnnounceMessageOnMainScreen($"Could not pick up {thrownItem.ItemThatIsThrown.ItemName}.");
|
||||
}
|
||||
if (area.GetParent() is Restorative restorative)
|
||||
{
|
||||
_gameRepo.OnRestorativePickedUp(restorative);
|
||||
restorative.QueueFree();
|
||||
}
|
||||
}
|
||||
|
||||
private PlayerStats InitializePlayerStats()
|
||||
{
|
||||
var playerStats = new PlayerStats(
|
||||
currentHP: new AutoProp<int>(_playerStatResource.CurrentHP),
|
||||
maximumHP: new AutoProp<int>(_playerStatResource.MaximumHP),
|
||||
currentVT: new AutoProp<int>(_playerStatResource.CurrentVT),
|
||||
maximumVT: new AutoProp<int>(_playerStatResource.MaximumVT),
|
||||
currentAttack: new AutoProp<int>(_playerStatResource.CurrentAttack),
|
||||
currentDefense: new AutoProp<int>(_playerStatResource.CurrentDefense),
|
||||
maxAttack: new AutoProp<int>(_playerStatResource.MaxAttack),
|
||||
maxDefense: new AutoProp<int>(_playerStatResource.MaxDefense),
|
||||
bonusAttack: new AutoProp<int>(_playerStatResource.BonusAttack),
|
||||
bonusDefense: new AutoProp<int>(_playerStatResource.BonusDefense),
|
||||
currentExp: new AutoProp<double>(_playerStatResource.CurrentExp),
|
||||
expToNextLevel: new AutoProp<int>(_playerStatResource.ExpToNextLevel),
|
||||
currentLevel: new AutoProp<int>(_playerStatResource.CurrentLevel),
|
||||
luck: new AutoProp<double>(_playerStatResource.Luck));
|
||||
var playerStats = new PlayerStats(
|
||||
currentHP: new AutoProp<int>(_playerStatResource.CurrentHP),
|
||||
maximumHP: new AutoProp<int>(_playerStatResource.MaximumHP),
|
||||
currentVT: new AutoProp<int>(_playerStatResource.CurrentVT),
|
||||
maximumVT: new AutoProp<int>(_playerStatResource.MaximumVT),
|
||||
currentAttack: new AutoProp<int>(_playerStatResource.CurrentAttack),
|
||||
currentDefense: new AutoProp<int>(_playerStatResource.CurrentDefense),
|
||||
maxAttack: new AutoProp<int>(_playerStatResource.MaxAttack),
|
||||
maxDefense: new AutoProp<int>(_playerStatResource.MaxDefense),
|
||||
bonusAttack: new AutoProp<int>(_playerStatResource.BonusAttack),
|
||||
bonusDefense: new AutoProp<int>(_playerStatResource.BonusDefense),
|
||||
currentExp: new AutoProp<double>(_playerStatResource.CurrentExp),
|
||||
expToNextLevel: new AutoProp<int>(_playerStatResource.ExpToNextLevel),
|
||||
currentLevel: new AutoProp<int>(_playerStatResource.CurrentLevel),
|
||||
luck: new AutoProp<double>(_playerStatResource.Luck));
|
||||
|
||||
return playerStats;
|
||||
return playerStats;
|
||||
}
|
||||
|
||||
private bool PlayerIsHittingGeometry()
|
||||
{
|
||||
var collisions = WallCheck.GetCollidingBodies();
|
||||
return collisions.Count > 0;
|
||||
var collisions = WallCheck.GetCollidingBodies();
|
||||
return collisions.Count > 0;
|
||||
}
|
||||
|
||||
private void WallCheck_BodyEntered(Node body)
|
||||
{
|
||||
PlayerLogic.Input(new PlayerLogic.Input.AttackAnimationFinished());
|
||||
GD.Print("Hit wall");
|
||||
AnimationPlayer.Stop();
|
||||
PlayerLogic.Input(new PlayerLogic.Input.AttackAnimationFinished());
|
||||
GD.Print("Hit wall");
|
||||
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