gd,ld: some LD and some bug fixing that didn't fix the bugs

This commit is contained in:
2025-06-19 13:34:31 +02:00
parent 01d0488d91
commit 21bc3f4724
26 changed files with 385 additions and 51 deletions

View File

@ -3,16 +3,17 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://7kcmi16gedd0" uid="uid://7kcmi16gedd0"
path.s3tc="res://.godot/imported/LD-0001.png-8ea76b93d77f913f68e02a6259c9b6cc.s3tc.ctex"
path.etc2="res://.godot/imported/LD-0001.png-8ea76b93d77f913f68e02a6259c9b6cc.etc2.ctex" path.etc2="res://.godot/imported/LD-0001.png-8ea76b93d77f913f68e02a6259c9b6cc.etc2.ctex"
metadata={ metadata={
"imported_formats": ["etc2_astc"], "imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true "vram_texture": true
} }
[deps] [deps]
source_file="res://assets/LD-0001.png" source_file="res://assets/LD-0001.png"
dest_files=["res://.godot/imported/LD-0001.png-8ea76b93d77f913f68e02a6259c9b6cc.etc2.ctex"] dest_files=["res://.godot/imported/LD-0001.png-8ea76b93d77f913f68e02a6259c9b6cc.s3tc.ctex", "res://.godot/imported/LD-0001.png-8ea76b93d77f913f68e02a6259c9b6cc.etc2.ctex"]
[params] [params]

View File

@ -3,16 +3,17 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://hf6y7ws45y8p" uid="uid://hf6y7ws45y8p"
path.s3tc="res://.godot/imported/greybox.png-ff2e1ff515631e83618eb1350d29d6ec.s3tc.ctex"
path.etc2="res://.godot/imported/greybox.png-ff2e1ff515631e83618eb1350d29d6ec.etc2.ctex" path.etc2="res://.godot/imported/greybox.png-ff2e1ff515631e83618eb1350d29d6ec.etc2.ctex"
metadata={ metadata={
"imported_formats": ["etc2_astc"], "imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true "vram_texture": true
} }
[deps] [deps]
source_file="res://assets/greybox/greybox.png" source_file="res://assets/greybox/greybox.png"
dest_files=["res://.godot/imported/greybox.png-ff2e1ff515631e83618eb1350d29d6ec.etc2.ctex"] dest_files=["res://.godot/imported/greybox.png-ff2e1ff515631e83618eb1350d29d6ec.s3tc.ctex", "res://.godot/imported/greybox.png-ff2e1ff515631e83618eb1350d29d6ec.etc2.ctex"]
[params] [params]

BIN
assets/ladder/Textures/colormap.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://kyoessd1518w"
path.s3tc="res://.godot/imported/colormap.png-0164da4e3e43f54bbcc6c773ee30521d.s3tc.ctex"
path.etc2="res://.godot/imported/colormap.png-0164da4e3e43f54bbcc6c773ee30521d.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/ladder/Textures/colormap.png"
dest_files=["res://.godot/imported/colormap.png-0164da4e3e43f54bbcc6c773ee30521d.s3tc.ctex", "res://.godot/imported/colormap.png-0164da4e3e43f54bbcc6c773ee30521d.etc2.ctex"]
[params]
compress/mode=2
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

BIN
assets/ladder/ladder-top.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,38 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bod7boex72igr"
path="res://.godot/imported/ladder-top.fbx-3af719d67bc92743407297e84a0e273a.scn"
[deps]
source_file="res://assets/ladder/ladder-top.fbx"
dest_files=["res://.godot/imported/ladder-top.fbx-3af719d67bc92743407297e84a0e273a.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=true
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=0
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

BIN
assets/ladder/ladder.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,38 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cmfagvnymc2yr"
path="res://.godot/imported/ladder.fbx-fde4412b36d0b69e88ef176d131d5cbb.scn"
[deps]
source_file="res://assets/ladder/ladder.fbx"
dest_files=["res://.godot/imported/ladder.fbx-fde4412b36d0b69e88ef176d131d5cbb.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=true
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=0
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

BIN
assets/stairs/Textures/colormap.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bu1pl3y7v25g2"
path.s3tc="res://.godot/imported/colormap.png-e3b1f476363d5485f6d3fb73d08e41e5.s3tc.ctex"
path.etc2="res://.godot/imported/colormap.png-e3b1f476363d5485f6d3fb73d08e41e5.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/stairs/Textures/colormap.png"
dest_files=["res://.godot/imported/colormap.png-e3b1f476363d5485f6d3fb73d08e41e5.s3tc.ctex", "res://.godot/imported/colormap.png-e3b1f476363d5485f6d3fb73d08e41e5.etc2.ctex"]
[params]
compress/mode=2
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

View File

@ -29,7 +29,7 @@ glow_enabled = true
[node name="Main" type="Node3D"] [node name="Main" type="Node3D"]
[node name="Player" parent="." instance=ExtResource("1_1s2y7")] [node name="Player" parent="." instance=ExtResource("1_1s2y7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 6, -31) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1.5)
[node name="WorldEnvironment" type="WorldEnvironment" parent="."] [node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_1bvp3") environment = SubResource("Environment_1bvp3")
@ -286,6 +286,24 @@ use_collision = true
size = Vector3(5, 10, 5) size = Vector3(5, 10, 5)
material = ExtResource("3_vvhq3") material = ExtResource("3_vvhq3")
[node name="CSGBox3D30" type="CSGBox3D" parent="Greybox/JumpHeights"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 9.5, -50)
use_collision = true
size = Vector3(5, 1, 5)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D31" type="CSGBox3D" parent="Greybox/JumpHeights"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 9.75, -50)
use_collision = true
size = Vector3(5, 0.5, 5)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D32" type="CSGBox3D" parent="Greybox/JumpHeights"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 9.875, -50)
use_collision = true
size = Vector3(5, 0.25, 5)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D26" type="CSGBox3D" parent="Greybox/JumpHeights"] [node name="CSGBox3D26" type="CSGBox3D" parent="Greybox/JumpHeights"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.5, 6.25, -61.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.5, 6.25, -61.5)
use_collision = true use_collision = true
@ -309,3 +327,75 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.5, 10, -76.5)
use_collision = true use_collision = true
size = Vector3(5, 20, 5) size = Vector3(5, 20, 5)
material = ExtResource("3_vvhq3") material = ExtResource("3_vvhq3")
[node name="Passageways" type="CSGCombiner3D" parent="Greybox"]
[node name="CSGBox3D30" type="CSGBox3D" parent="Greybox/Passageways"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 2.25, -6.5)
use_collision = true
size = Vector3(5, 5, 5)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D34" type="CSGBox3D" parent="Greybox/Passageways"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 1.5, -6.5)
operation = 2
use_collision = true
size = Vector3(5, 3, 3)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D31" type="CSGBox3D" parent="Greybox/Passageways"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 2.25, -16.5)
use_collision = true
size = Vector3(5, 5, 5)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D35" type="CSGBox3D" parent="Greybox/Passageways"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0.5, -16.5)
operation = 2
use_collision = true
size = Vector3(5, 3, 2)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D32" type="CSGBox3D" parent="Greybox/Passageways"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 2.25, -26.5)
use_collision = true
size = Vector3(5, 5, 5)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D36" type="CSGBox3D" parent="Greybox/Passageways"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0.5, -26.5)
operation = 2
use_collision = true
size = Vector3(5, 3, 1)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D33" type="CSGBox3D" parent="Greybox/Passageways"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 2.25, -36.5)
use_collision = true
size = Vector3(5, 5, 5)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D37" type="CSGBox3D" parent="Greybox/Passageways"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, -0.5, -36.5)
operation = 2
use_collision = true
size = Vector3(5, 3, 1)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D14" type="CSGBox3D" parent="Greybox/Passageways"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 4.5, -21.5)
use_collision = true
size = Vector3(0.5, 0.5, 5)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D16" type="CSGBox3D" parent="Greybox/Passageways"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 4.5, -31.5)
use_collision = true
size = Vector3(0.25, 0.5, 5)
material = ExtResource("3_vvhq3")
[node name="CSGBox3D15" type="CSGBox3D" parent="Greybox/Passageways"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 4.5, -11.5)
use_collision = true
size = Vector3(1, 0.5, 5)
material = ExtResource("3_vvhq3")

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=12 format=3 uid="uid://dmkw8cmalm5k"] [gd_scene load_steps=14 format=3 uid="uid://dmkw8cmalm5k"]
[ext_resource type="PackedScene" uid="uid://bei4nhkf8lwdo" path="res://player_controller/PlayerController.tscn" id="1_2vsi6"] [ext_resource type="PackedScene" uid="uid://bei4nhkf8lwdo" path="res://player_controller/PlayerController.tscn" id="1_2vsi6"]
[ext_resource type="PackedScene" uid="uid://dkr80d2pi0d41" path="res://addons/guide/debugger/guide_debugger.tscn" id="2_uet8a"] [ext_resource type="PackedScene" uid="uid://dkr80d2pi0d41" path="res://addons/guide/debugger/guide_debugger.tscn" id="2_uet8a"]
@ -8,6 +8,8 @@
[ext_resource type="PackedScene" uid="uid://fxj0a6p5h6lm" path="res://maps/Components/small_square_tower.tscn" id="5_ruo5i"] [ext_resource type="PackedScene" uid="uid://fxj0a6p5h6lm" path="res://maps/Components/small_square_tower.tscn" id="5_ruo5i"]
[ext_resource type="PackedScene" uid="uid://bfriujv0l1yjy" path="res://assets/greybox/human_scale.tscn" id="5_wxle6"] [ext_resource type="PackedScene" uid="uid://bfriujv0l1yjy" path="res://assets/greybox/human_scale.tscn" id="5_wxle6"]
[ext_resource type="PackedScene" uid="uid://482s38k0yv35" path="res://maps/Components/stairs.tscn" id="8_pxgdh"] [ext_resource type="PackedScene" uid="uid://482s38k0yv35" path="res://maps/Components/stairs.tscn" id="8_pxgdh"]
[ext_resource type="PackedScene" uid="uid://cmfagvnymc2yr" path="res://assets/ladder/ladder.fbx" id="9_ukfuy"]
[ext_resource type="PackedScene" uid="uid://bod7boex72igr" path="res://assets/ladder/ladder-top.fbx" id="10_wctvs"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_0xm2m"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_0xm2m"]
sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1) sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
@ -23,6 +25,8 @@ ambient_light_source = 2
ambient_light_color = Color(0.576076, 0.459788, 0.652401, 1) ambient_light_color = Color(0.576076, 0.459788, 0.652401, 1)
tonemap_mode = 4 tonemap_mode = 4
tonemap_exposure = 2.0 tonemap_exposure = 2.0
ssao_enabled = true
ssil_enabled = true
[node name="Main" type="Node3D"] [node name="Main" type="Node3D"]
@ -392,7 +396,7 @@ size = Vector3(0.205633, 5, 0.347168)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
[node name="CSGBox3D14" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Base"] [node name="CSGBox3D14" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Base"]
transform = Transform3D(-0.984808, 0, -0.173648, 0, 1, 0, 0.173648, 0, -0.984808, 34.4436, 40.5, -35.0107) transform = Transform3D(-0.984808, 0, -0.173648, 0, 1, 0, 0.173648, 0, -0.984808, 34.3949, 40.5, -35.0151)
use_collision = true use_collision = true
size = Vector3(0.5, 1, 6.37109) size = Vector3(0.5, 1, 6.37109)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
@ -416,21 +420,21 @@ size = Vector3(0.5, 1, 9.66968)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
[node name="CSGBox3D26" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Base"] [node name="CSGBox3D26" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Base"]
transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 31.0881, 27.1581, -48.3002) transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 31.0881, 27.0217, -48.3002)
use_collision = true use_collision = true
size = Vector3(3, 0.226074, 14) size = Vector3(3, 0.5, 14)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
[node name="CSGBox3D27" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Base"] [node name="CSGBox3D27" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Base"]
transform = Transform3D(-0.5, 0, 0.866026, 0, 1, 0, -0.866026, 0, -0.5, 31.7109, 27.1581, -28.6518) transform = Transform3D(-0.5, 0, 0.866026, 0, 1, 0, -0.866026, 0, -0.5, 31.7109, 27.0208, -28.6518)
use_collision = true use_collision = true
size = Vector3(2.22906, 0.226074, 13.1252) size = Vector3(2.229, 0.5, 13.125)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
[node name="CSGBox3D28" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Base"] [node name="CSGBox3D28" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Base"]
transform = Transform3D(-1.19209e-07, 0, 1, 0, 1, 0, -1, 0, -1.19209e-07, 35.6407, 27.1581, -38.6995) transform = Transform3D(-8.9407e-08, 0, 1, 0, 1, 0, -1, 0, -8.9407e-08, 35.6407, 27.0232, -38.6995)
use_collision = true use_collision = true
size = Vector3(15.4346, 0.226074, 4.55566) size = Vector3(15.435, 0.5, 4.556)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
[node name="Carvings" type="CSGCombiner3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks"] [node name="Carvings" type="CSGCombiner3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks"]
@ -491,7 +495,7 @@ size = Vector3(3.8652, 6.35828, 5.64597)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
[node name="CSGBox3D94" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Carvings"] [node name="CSGBox3D94" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Carvings"]
transform = Transform3D(-0.866027, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866027, 32.4164, 39.6069, -32.814) transform = Transform3D(-0.866027, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866027, 31.422, 39.6069, -32.1784)
use_collision = true use_collision = true
size = Vector3(2.2, 2.78613, 2.2) size = Vector3(2.2, 2.78613, 2.2)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
@ -570,15 +574,15 @@ transform = Transform3D(0.34202, 0, -2.25526, 0, 1, 0, 0.939692, 0, 0.820848, 25
transform = Transform3D(0.34202, 0, -2.25526, 0, 1, 0, 0.939692, 0, 0.820848, 24.7285, 27.2573, -34.9229) transform = Transform3D(0.34202, 0, -2.25526, 0, 1, 0, 0.939692, 0, 0.820848, 24.7285, 27.2573, -34.9229)
[node name="CSGBox3D19" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] [node name="CSGBox3D19" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"]
transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 29.056, 35.1581, -41.6004) transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 29.056, 35.0183, -41.6004)
use_collision = true use_collision = true
size = Vector3(0.672852, 0.226074, 9.74835) size = Vector3(0.673, 0.5, 9.748)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
[node name="CSGBox3D33" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] [node name="CSGBox3D33" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"]
transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 29.3443, 35.1581, -43.8862) transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 29.3443, 35.0247, -43.8862)
use_collision = true use_collision = true
size = Vector3(5.27722, 0.226074, 0.72884) size = Vector3(5.277, 0.5, 0.729)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
[node name="CSGBox3D34" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] [node name="CSGBox3D34" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"]
@ -590,7 +594,7 @@ material = ExtResource("3_cieeo")
[node name="CSGBox3D35" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] [node name="CSGBox3D35" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"]
transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 29.1641, 33.4089, -41.5785) transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 29.1641, 33.4089, -41.5785)
use_collision = true use_collision = true
size = Vector3(1.67001, 0.164001, 1.91308) size = Vector3(2, 0.1, 2)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
[node name="CSGBox3D36" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] [node name="CSGBox3D36" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"]
@ -641,12 +645,45 @@ use_collision = true
size = Vector3(0.5, 1, 7.00781) size = Vector3(0.5, 1, 7.00781)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
[node name="CSGBox3D26" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"]
transform = Transform3D(-0.5, 0, 0.866026, 0, 1, 0, -0.866026, 0, -0.5, 33.4444, 35.6629, -33.3736)
use_collision = true
size = Vector3(2.50293, 7.32574, 2.17114)
material = ExtResource("3_cieeo")
[node name="CSGBox3D18" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] [node name="CSGBox3D18" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"]
transform = Transform3D(-0.5, 0, 0.866026, 0, 1, 0, -0.866026, 0, -0.5, 30.0125, 32.113, -31.4695) transform = Transform3D(-0.5, 0, 0.866026, 0, 1, 0, -0.866026, 0, -0.5, 30.0125, 32.113, -31.4695)
use_collision = true use_collision = true
size = Vector3(2.34326, 0.226074, 9.09705) size = Vector3(2.34326, 0.226074, 9.09705)
material = ExtResource("3_cieeo") material = ExtResource("3_cieeo")
[node name="ladder" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")]
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 31.9913, -32.4904)
[node name="ladder2" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")]
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 32.9913, -32.4904)
[node name="ladder3" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")]
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 33.9913, -32.4904)
[node name="ladder4" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")]
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 34.9913, -32.4904)
[node name="ladder5" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")]
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 35.9913, -32.4904)
[node name="ladder6" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")]
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 36.9913, -32.4904)
[node name="ladder7" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")]
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 37.9913, -32.4904)
[node name="ladder8" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")]
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 38.9913, -32.4904)
[node name="ladder-top" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("10_wctvs")]
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.4123, 39.9775, -32.5648)
[node name="CSGBox3D72" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1"] [node name="CSGBox3D72" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1"]
transform = Transform3D(0.0923823, 0.257713, 0.961797, 1.91013e-08, 0.965926, -0.258819, -0.995726, 0.0239104, 0.0892344, 14.5298, 25.9843, -31.2152) transform = Transform3D(0.0923823, 0.257713, 0.961797, 1.91013e-08, 0.965926, -0.258819, -0.995726, 0.0239104, 0.0892344, 14.5298, 25.9843, -31.2152)
use_collision = true use_collision = true

View File

@ -3,16 +3,17 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://boasm0g587eov" uid="uid://boasm0g587eov"
path.s3tc="res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.s3tc.ctex"
path.etc2="res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.etc2.ctex" path.etc2="res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.etc2.ctex"
metadata={ metadata={
"imported_formats": ["etc2_astc"], "imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true "vram_texture": true
} }
[deps] [deps]
source_file="res://player_controller/Assets/Textures/GridTexture/Dark/texture_01.png" source_file="res://player_controller/Assets/Textures/GridTexture/Dark/texture_01.png"
dest_files=["res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.etc2.ctex"] dest_files=["res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.s3tc.ctex", "res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.etc2.ctex"]
[params] [params]

View File

@ -3,16 +3,17 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://3e1klega6uye" uid="uid://3e1klega6uye"
path.s3tc="res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.s3tc.ctex"
path.etc2="res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.etc2.ctex" path.etc2="res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.etc2.ctex"
metadata={ metadata={
"imported_formats": ["etc2_astc"], "imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true "vram_texture": true
} }
[deps] [deps]
source_file="res://player_controller/Assets/Textures/GridTexture/Green/texture_01.png" source_file="res://player_controller/Assets/Textures/GridTexture/Green/texture_01.png"
dest_files=["res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.etc2.ctex"] dest_files=["res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.s3tc.ctex", "res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.etc2.ctex"]
[params] [params]

View File

@ -3,16 +3,17 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://0t6ie0fkv2op" uid="uid://0t6ie0fkv2op"
path.s3tc="res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.s3tc.ctex"
path.etc2="res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.etc2.ctex" path.etc2="res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.etc2.ctex"
metadata={ metadata={
"imported_formats": ["etc2_astc"], "imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true "vram_texture": true
} }
[deps] [deps]
source_file="res://player_controller/Assets/Textures/GridTexture/Light/texture_01.png" source_file="res://player_controller/Assets/Textures/GridTexture/Light/texture_01.png"
dest_files=["res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.etc2.ctex"] dest_files=["res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.s3tc.ctex", "res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.etc2.ctex"]
[params] [params]

View File

@ -3,16 +3,17 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://t10lfkxrg7ay" uid="uid://t10lfkxrg7ay"
path.s3tc="res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.s3tc.ctex"
path.etc2="res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.etc2.ctex" path.etc2="res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.etc2.ctex"
metadata={ metadata={
"imported_formats": ["etc2_astc"], "imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true "vram_texture": true
} }
[deps] [deps]
source_file="res://player_controller/Assets/Textures/GridTexture/Orange/texture_01.png" source_file="res://player_controller/Assets/Textures/GridTexture/Orange/texture_01.png"
dest_files=["res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.etc2.ctex"] dest_files=["res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.s3tc.ctex", "res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.etc2.ctex"]
[params] [params]

View File

@ -3,16 +3,17 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://dgix86l87u86s" uid="uid://dgix86l87u86s"
path.s3tc="res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.s3tc.ctex"
path.etc2="res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.etc2.ctex" path.etc2="res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.etc2.ctex"
metadata={ metadata={
"imported_formats": ["etc2_astc"], "imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true "vram_texture": true
} }
[deps] [deps]
source_file="res://player_controller/Assets/Textures/GridTexture/Red/texture_01.png" source_file="res://player_controller/Assets/Textures/GridTexture/Red/texture_01.png"
dest_files=["res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.etc2.ctex"] dest_files=["res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.s3tc.ctex", "res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.etc2.ctex"]
[params] [params]

View File

@ -3,16 +3,17 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://woq2hudxhckr" uid="uid://woq2hudxhckr"
path.s3tc="res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.s3tc.ctex"
path.etc2="res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.etc2.ctex" path.etc2="res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.etc2.ctex"
metadata={ metadata={
"imported_formats": ["etc2_astc"], "imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true "vram_texture": true
} }
[deps] [deps]
source_file="res://player_controller/Assets/Textures/PerlinNoise/Gabor 1 - 512x512.png" source_file="res://player_controller/Assets/Textures/PerlinNoise/Gabor 1 - 512x512.png"
dest_files=["res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.etc2.ctex"] dest_files=["res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.s3tc.ctex", "res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.etc2.ctex"]
[params] [params]

View File

@ -3,16 +3,17 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://lp2pt8mtj7ty" uid="uid://lp2pt8mtj7ty"
path.s3tc="res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.s3tc.ctex"
path.etc2="res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.etc2.ctex" path.etc2="res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.etc2.ctex"
metadata={ metadata={
"imported_formats": ["etc2_astc"], "imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true "vram_texture": true
} }
[deps] [deps]
source_file="res://player_controller/Examples/MovementTestbed/Hills/kenney-green-checkerboar-cc0.png" source_file="res://player_controller/Examples/MovementTestbed/Hills/kenney-green-checkerboar-cc0.png"
dest_files=["res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.etc2.ctex"] dest_files=["res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.s3tc.ctex", "res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.etc2.ctex"]
[params] [params]

View File

@ -288,26 +288,57 @@ event = &"dash_to_planted"
delay_in_seconds = "0.0" delay_in_seconds = "0.0"
[node name="Grounded" type="Node" parent="StateChart/Root/Movement"] [node name="Grounded" type="Node" parent="StateChart/Root/Movement"]
script = ExtResource("26_infe6")
initial_state = NodePath("Standing")
[node name="Standing" type="Node" parent="StateChart/Root/Movement/Grounded"]
script = ExtResource("27_34snm") script = ExtResource("27_34snm")
[node name="OnJump" type="Node" parent="StateChart/Root/Movement/Grounded"] [node name="OnJump" type="Node" parent="StateChart/Root/Movement/Grounded/Standing"]
script = ExtResource("28_n7qhm") script = ExtResource("28_n7qhm")
to = NodePath("../../Airborne/Jump") to = NodePath("../../../Airborne/Jump")
event = &"jump" event = &"jump"
delay_in_seconds = "0.0" delay_in_seconds = "0.0"
[node name="OnAirborne" type="Node" parent="StateChart/Root/Movement/Grounded"] [node name="OnAirborne" type="Node" parent="StateChart/Root/Movement/Grounded/Standing"]
script = ExtResource("28_n7qhm") script = ExtResource("28_n7qhm")
to = NodePath("../../Airborne/CoyoteEnabled") to = NodePath("../../../Airborne/CoyoteEnabled")
event = &"start_falling" event = &"start_falling"
delay_in_seconds = "0.0" delay_in_seconds = "0.0"
[node name="OnCrouch" type="Node" parent="StateChart/Root/Movement/Grounded/Standing"]
script = ExtResource("28_n7qhm")
to = NodePath("../../Crouch")
event = &"crouch"
delay_in_seconds = "0.0"
[node name="Crouch" type="Node" parent="StateChart/Root/Movement/Grounded"]
script = ExtResource("27_34snm")
[node name="OnJump" type="Node" parent="StateChart/Root/Movement/Grounded/Crouch"]
script = ExtResource("28_n7qhm")
to = NodePath("../../../Airborne/Jump")
event = &"jump"
delay_in_seconds = "0.0"
[node name="OnAirborne" type="Node" parent="StateChart/Root/Movement/Grounded/Crouch"]
script = ExtResource("28_n7qhm")
to = NodePath("../../../Airborne/CoyoteEnabled")
event = &"start_falling"
delay_in_seconds = "0.0"
[node name="OnStandUp" type="Node" parent="StateChart/Root/Movement/Grounded/Crouch"]
script = ExtResource("28_n7qhm")
to = NodePath("../../Standing")
event = &"stand_up"
delay_in_seconds = "0.0"
[node name="Mantling" type="Node" parent="StateChart/Root/Movement"] [node name="Mantling" type="Node" parent="StateChart/Root/Movement"]
script = ExtResource("27_34snm") script = ExtResource("27_34snm")
[node name="ToGrounded" type="Node" parent="StateChart/Root/Movement/Mantling"] [node name="ToGrounded" type="Node" parent="StateChart/Root/Movement/Mantling"]
script = ExtResource("28_n7qhm") script = ExtResource("28_n7qhm")
to = NodePath("../../Grounded") to = NodePath("../../Grounded/Standing")
event = &"to_grounded" event = &"to_grounded"
delay_in_seconds = "0.0" delay_in_seconds = "0.0"
@ -323,7 +354,7 @@ delay_in_seconds = "0.0"
[node name="OnDrop" type="Node" parent="StateChart/Root/Movement/Hanging"] [node name="OnDrop" type="Node" parent="StateChart/Root/Movement/Hanging"]
script = ExtResource("28_n7qhm") script = ExtResource("28_n7qhm")
to = NodePath("../../Airborne/CoyoteEnabled") to = NodePath("../../Airborne/CoyoteEnabled")
event = &"drop" event = &"crouch"
delay_in_seconds = "0.0" delay_in_seconds = "0.0"
[node name="Airborne" type="Node" parent="StateChart/Root/Movement"] [node name="Airborne" type="Node" parent="StateChart/Root/Movement"]
@ -332,7 +363,7 @@ initial_state = NodePath("CoyoteEnabled")
[node name="OnGrounded" type="Node" parent="StateChart/Root/Movement/Airborne"] [node name="OnGrounded" type="Node" parent="StateChart/Root/Movement/Airborne"]
script = ExtResource("28_n7qhm") script = ExtResource("28_n7qhm")
to = NodePath("../../Grounded") to = NodePath("../../Grounded/Standing")
event = &"grounded" event = &"grounded"
delay_in_seconds = "0.0" delay_in_seconds = "0.0"

View File

@ -256,7 +256,7 @@ public partial class PlayerController : CharacterBody3D
} }
public void OnInputDropPressed() public void OnInputDropPressed()
{ {
_playerState.SendEvent("drop"); _playerState.SendEvent("crouch");
} }
/////////////////////////// ///////////////////////////
@ -391,9 +391,11 @@ public partial class PlayerController : CharacterBody3D
return; return;
} }
GD.Print(WeaponSystem.GlobalRotation);
// Store the weapon state before resetting it // Store the weapon state before resetting it
var isPlantedOnWall = WeaponSystem.PlantedState.Active var isPlantedOnWall = Math.Abs(WeaponSystem.GlobalRotation.X) + Math.Abs(WeaponSystem.GlobalRotation.Z) < 0.3;
&& (Math.Abs(WeaponSystem.GlobalRotation.X) + Math.Abs(WeaponSystem.GlobalRotation.Z) < 0.3); var isPlantedUnderPlatform = WeaponSystem.GlobalRotation.X > 1 && Math.Abs(WeaponSystem.GlobalRotation.Y) > 1;
var shouldDashToPlanted = WeaponSystem.PlantedState.Active && (isPlantedOnWall || isPlantedUnderPlatform);
var isFlying = WeaponSystem.FlyingState.Active; var isFlying = WeaponSystem.FlyingState.Active;
// Get the weapon back // Get the weapon back
@ -410,7 +412,7 @@ public partial class PlayerController : CharacterBody3D
return; // In case states aren't exclusives return; // In case states aren't exclusives
} }
if (isPlantedOnWall) if (shouldDashToPlanted)
{ {
_playerState.SendEvent("dash_to_planted"); _playerState.SendEvent("dash_to_planted");
return; // In case states aren't exclusives return; // In case states aren't exclusives

View File

@ -54,7 +54,7 @@ public partial class DashSystem: Node3D
var collisionPoint = _dashCast3D.GetCollisionPoint(0); var collisionPoint = _dashCast3D.GetCollisionPoint(0);
var collisionNormal = _dashCast3D.GetCollisionNormal(0); var collisionNormal = _dashCast3D.GetCollisionNormal(0);
var collisionShape = (SphereShape3D) _dashCast3D.GetShape(); var collisionShape = (SphereShape3D) _dashCast3D.GetShape();
var centerSphereLocation = collisionPoint + collisionNormal * collisionShape.Radius; var centerSphereLocation = collisionPoint + collisionNormal * 0.2f;
return new DashComputationRecord(true, centerSphereLocation, collisionPoint, collisionNormal); return new DashComputationRecord(true, centerSphereLocation, collisionPoint, collisionNormal);
} }
@ -72,7 +72,7 @@ public partial class DashSystem: Node3D
var shouldMantle = false; var shouldMantle = false;
var mantleLocation = Vector3.Zero; var mantleLocation = Vector3.Zero;
if (hasHit && Mathf.Abs(collisionNormal.Y) < 0.01f) if (hasHit && Mathf.Abs(collisionNormal.Y) < 0.5f)
{ {
var mantleResult = _mantleSystem.FindMantleLocationAtPoint(collisionPoint, collisionNormal); var mantleResult = _mantleSystem.FindMantleLocationAtPoint(collisionPoint, collisionNormal);
shouldMantle = mantleResult.IsSome(out mantleLocation); shouldMantle = mantleResult.IsSome(out mantleLocation);

View File

@ -4,7 +4,7 @@
[ext_resource type="PackedScene" uid="uid://wq1okogkhc5l" path="res://systems/mantle/mantle_system.tscn" id="2_pff7b"] [ext_resource type="PackedScene" uid="uid://wq1okogkhc5l" path="res://systems/mantle/mantle_system.tscn" id="2_pff7b"]
[sub_resource type="SphereShape3D" id="SphereShape3D_qu4wy"] [sub_resource type="SphereShape3D" id="SphereShape3D_qu4wy"]
radius = 0.1 radius = 0.2
[sub_resource type="SphereMesh" id="SphereMesh_qu4wy"] [sub_resource type="SphereMesh" id="SphereMesh_qu4wy"]

View File

@ -57,7 +57,7 @@ public partial class MantleSystem: Node3D
var shapeCastStartLocation = horizontalEndLocation + Vector3.Up * MantleHeightCastStart; var shapeCastStartLocation = horizontalEndLocation + Vector3.Up * MantleHeightCastStart;
_mantleCast3D.SetGlobalPosition(shapeCastStartLocation); _mantleCast3D.SetGlobalPosition(shapeCastStartLocation);
var targetLocation = Vector3.Down * MantleHeightCastStart + Vector3.Up * MaxStepHeight; var targetLocation = Vector3.Down * MantleHeightCastStart;
_mantleCast3D.SetTargetPosition(targetLocation); _mantleCast3D.SetTargetPosition(targetLocation);
if (_mantleCast3D.IsColliding() && _mantleCast3D.GetCollisionNormal(0).Y > 0.9f) if (_mantleCast3D.IsColliding() && _mantleCast3D.GetCollisionNormal(0).Y > 0.9f)

View File

@ -21,7 +21,7 @@ collision_mask = 2
debug_shape_custom_color = Color(1, 0, 0, 1) debug_shape_custom_color = Color(1, 0, 0, 1)
[node name="WallInFrontCast3D" type="ShapeCast3D" parent="."] [node name="WallInFrontCast3D" type="ShapeCast3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.65, 0)
shape = SubResource("CapsuleShape3D_qu4wy") shape = SubResource("CapsuleShape3D_qu4wy")
target_position = Vector3(0, 0, -1.5) target_position = Vector3(0, 0, -1.5)
max_results = 1 max_results = 1

View File

@ -73,7 +73,7 @@ public partial class WeaponSystem : RigidBody3D
_weaponState.SendEvent("plant"); _weaponState.SendEvent("plant");
Freeze = true; Freeze = true;
GlobalPosition = _plantLocation; GlobalPosition = _plantLocation;
PlayerDashLocation = _plantLocation + _plantNormal * 0.1f; PlayerDashLocation = ComputeDashLocation(_plantLocation, _plantNormal);
LookAt(GlobalTransform.Origin + _plantNormal, Vector3.Up, true); LookAt(GlobalTransform.Origin + _plantNormal, Vector3.Up, true);
} }
@ -84,6 +84,11 @@ public partial class WeaponSystem : RigidBody3D
Freeze = true; Freeze = true;
} }
private Vector3 ComputeDashLocation(Vector3 collisionLocation, Vector3 collisionNormal)
{
return collisionLocation + collisionNormal * 0.2f;
}
public override void _IntegrateForces(PhysicsDirectBodyState3D state) public override void _IntegrateForces(PhysicsDirectBodyState3D state)
{ {
base._IntegrateForces(state); base._IntegrateForces(state);
@ -92,7 +97,7 @@ public partial class WeaponSystem : RigidBody3D
{ {
_plantLocation = state.GetContactLocalPosition(0); _plantLocation = state.GetContactLocalPosition(0);
_plantNormal = state.GetContactLocalNormal(0); _plantNormal = state.GetContactLocalNormal(0);
PlayerDashLocation = _plantLocation + _plantNormal * 0.1f; PlayerDashLocation = ComputeDashLocation(_plantLocation, _plantNormal);
} }
} }