Compare commits

..

11 Commits

Author SHA1 Message Date
6d967bf2bf extended enemy dashthrough improvement to aimed dash behaviour
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 20s
Create tag and build when new code gets to main / Test (push) Successful in 7m24s
Create tag and build when new code gets to main / Export (push) Successful in 9m32s
2026-02-06 12:10:21 +01:00
e87a228dd2 fixed dashing through terrain so easily when targeting enemy 2026-02-06 11:52:29 +01:00
e8ff01e097 fixed toolbox menu issue 2026-02-06 11:02:38 +01:00
66a71067cc fixed a few issues and also tuto triggers
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 21s
Create tag and build when new code gets to main / Test (push) Successful in 7m20s
Create tag and build when new code gets to main / Export (push) Successful in 9m42s
2026-02-05 17:26:20 +01:00
7a938b245e refresh level selection
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 18s
Create tag and build when new code gets to main / Test (push) Successful in 6m11s
Create tag and build when new code gets to main / Export (push) Successful in 7m35s
2026-02-05 17:06:32 +01:00
52ebc68a02 put the player back in its place
Some checks failed
Create tag and build when new code gets to main / BumpTag (push) Successful in 21s
Create tag and build when new code gets to main / Test (push) Has been cancelled
Create tag and build when new code gets to main / Export (push) Has been cancelled
2026-02-05 17:04:45 +01:00
2a604fb06a tutorial levels with enemies
Some checks failed
Create tag and build when new code gets to main / BumpTag (push) Successful in 20s
Create tag and build when new code gets to main / Test (push) Successful in 8m35s
Create tag and build when new code gets to main / Export (push) Has been cancelled
2026-02-05 16:52:53 +01:00
1f904cdb13 final tuto movement
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 20s
Create tag and build when new code gets to main / Test (push) Successful in 7m16s
Create tag and build when new code gets to main / Export (push) Successful in 9m29s
2026-02-05 15:26:40 +01:00
db93e8f68e base movement tutorial done
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 19s
Create tag and build when new code gets to main / Test (push) Successful in 6m48s
Create tag and build when new code gets to main / Export (push) Successful in 8m56s
2026-02-05 10:44:32 +01:00
4c302be16b more tutorial 2026-02-05 10:06:25 +01:00
013545af8a more tutorial 2026-02-05 10:06:12 +01:00
23 changed files with 1934 additions and 105 deletions

View File

@@ -97,8 +97,8 @@ func load_scene(scene_path : String, in_background : bool = false) -> void:
if not _background_loading:
change_scene_to_resource()
return
ResourceLoader.load_threaded_request(_scene_path)
set_process(true)
ResourceLoader.load_threaded_request(_scene_path)
if _check_loading_screen() and not _background_loading:
change_scene_to_loading_screen()
@@ -108,6 +108,7 @@ func _unhandled_key_input(event : InputEvent) -> void:
get_tree().quit()
func _ready() -> void:
process_mode = Node.PROCESS_MODE_ALWAYS
set_process(false)
func _process(_delta) -> void:

View File

@@ -3,19 +3,21 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://by682i537c1qg"
path="res://.godot/imported/xbox_button_a_outline.png-45ac6b087c5e9a82a5a0b446c63f4da4.ctex"
path.s3tc="res://.godot/imported/xbox_button_a_outline.png-45ac6b087c5e9a82a5a0b446c63f4da4.s3tc.ctex"
path.etc2="res://.godot/imported/xbox_button_a_outline.png-45ac6b087c5e9a82a5a0b446c63f4da4.etc2.ctex"
metadata={
"vram_texture": false
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/ui/input-prompts/Xbox Series/Default/xbox_button_a_outline.png"
dest_files=["res://.godot/imported/xbox_button_a_outline.png-45ac6b087c5e9a82a5a0b446c63f4da4.ctex"]
dest_files=["res://.godot/imported/xbox_button_a_outline.png-45ac6b087c5e9a82a5a0b446c63f4da4.s3tc.ctex", "res://.godot/imported/xbox_button_a_outline.png-45ac6b087c5e9a82a5a0b446c63f4da4.etc2.ctex"]
[params]
compress/mode=0
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
@@ -37,4 +39,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
detect_3d/compress_to=0

View File

@@ -3,19 +3,21 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dl73t0kxkaxp0"
path="res://.godot/imported/xbox_button_a_outline.svg-e0a03a1d1c96455de9e4ad067974d23b.ctex"
path.s3tc="res://.godot/imported/xbox_button_a_outline.svg-e0a03a1d1c96455de9e4ad067974d23b.s3tc.ctex"
path.etc2="res://.godot/imported/xbox_button_a_outline.svg-e0a03a1d1c96455de9e4ad067974d23b.etc2.ctex"
metadata={
"vram_texture": false
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_button_a_outline.svg"
dest_files=["res://.godot/imported/xbox_button_a_outline.svg-e0a03a1d1c96455de9e4ad067974d23b.ctex"]
dest_files=["res://.godot/imported/xbox_button_a_outline.svg-e0a03a1d1c96455de9e4ad067974d23b.s3tc.ctex", "res://.godot/imported/xbox_button_a_outline.svg-e0a03a1d1c96455de9e4ad067974d23b.etc2.ctex"]
[params]
compress/mode=0
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
@@ -37,7 +39,7 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
detect_3d/compress_to=0
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -3,19 +3,21 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cjh5cnvdbq5ku"
path="res://.godot/imported/xbox_button_b_outline.svg-3f51fcd4202da59d6f8184f7aaff1e2b.ctex"
path.s3tc="res://.godot/imported/xbox_button_b_outline.svg-3f51fcd4202da59d6f8184f7aaff1e2b.s3tc.ctex"
path.etc2="res://.godot/imported/xbox_button_b_outline.svg-3f51fcd4202da59d6f8184f7aaff1e2b.etc2.ctex"
metadata={
"vram_texture": false
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_button_b_outline.svg"
dest_files=["res://.godot/imported/xbox_button_b_outline.svg-3f51fcd4202da59d6f8184f7aaff1e2b.ctex"]
dest_files=["res://.godot/imported/xbox_button_b_outline.svg-3f51fcd4202da59d6f8184f7aaff1e2b.s3tc.ctex", "res://.godot/imported/xbox_button_b_outline.svg-3f51fcd4202da59d6f8184f7aaff1e2b.etc2.ctex"]
[params]
compress/mode=0
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
@@ -37,7 +39,7 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
detect_3d/compress_to=0
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -3,19 +3,21 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bfkj4neu0m0rm"
path="res://.godot/imported/xbox_rt_outline.svg-ccfca5331455b64f1729ac9257bae6c9.ctex"
path.s3tc="res://.godot/imported/xbox_rt_outline.svg-ccfca5331455b64f1729ac9257bae6c9.s3tc.ctex"
path.etc2="res://.godot/imported/xbox_rt_outline.svg-ccfca5331455b64f1729ac9257bae6c9.etc2.ctex"
metadata={
"vram_texture": false
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_rt_outline.svg"
dest_files=["res://.godot/imported/xbox_rt_outline.svg-ccfca5331455b64f1729ac9257bae6c9.ctex"]
dest_files=["res://.godot/imported/xbox_rt_outline.svg-ccfca5331455b64f1729ac9257bae6c9.s3tc.ctex", "res://.godot/imported/xbox_rt_outline.svg-ccfca5331455b64f1729ac9257bae6c9.etc2.ctex"]
[params]
compress/mode=0
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
@@ -37,7 +39,7 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
detect_3d/compress_to=0
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1,544 @@
[gd_scene format=3 uid="uid://y77cdg7gg3y7"]
[ext_resource type="Material" uid="uid://31aulub2nqov" path="res://assets/materials/greybox/m_greybox.tres" id="1_xmksr"]
[node name="PlaytestArena" type="CSGCombiner3D" unique_id=664535670]
use_collision = true
collision_layer = 256
collision_mask = 65553
[node name="CSGBox3D101" type="CSGBox3D" parent="." unique_id=858611130]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, -7.5, 4.25)
use_collision = true
size = Vector3(19, 30, 5.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D103" type="CSGBox3D" parent="." unique_id=1041898412]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 0.5, -7.5)
use_collision = true
size = Vector3(4.5, 1, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D106" type="CSGBox3D" parent="." unique_id=1051974239]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.75, 2, -42)
use_collision = true
size = Vector3(3.5, 4, 7)
material = ExtResource("1_xmksr")
[node name="CSGBox3D107" type="CSGBox3D" parent="." unique_id=1256387171]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 6.5, -43.25)
use_collision = true
size = Vector3(1.5, 5, 4.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D153" type="CSGBox3D" parent="." unique_id=1902148081]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 33.25, 0.5, -9)
use_collision = true
size = Vector3(3.5, 1, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D154" type="CSGBox3D" parent="." unique_id=1223575745]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0.5, 2)
use_collision = true
size = Vector3(31, 1, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D183" type="CSGBox3D" parent="." unique_id=1184431024]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25.75, 0.5, -46)
use_collision = true
size = Vector3(12.5, 1, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D184" type="CSGBox3D" parent="." unique_id=237433722]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.25, 5.75, -46)
use_collision = true
size = Vector3(14.5, 11.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D116" type="CSGBox3D" parent="." unique_id=289309705]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.5, 6.5, -19)
use_collision = true
size = Vector3(14, 2, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D128" type="CSGBox3D" parent="." unique_id=1881937332]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 6.5, -20.75)
use_collision = true
size = Vector3(1, 2, 4.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D134" type="CSGBox3D" parent="." unique_id=970372468]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.25, 9, 6.5)
use_collision = true
size = Vector3(18.5, 3, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D150" type="CSGBox3D" parent="." unique_id=1586153180]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 41, 9.25, -16.5)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D192" type="CSGBox3D" parent="." unique_id=1221030369]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 49, 12.25, -30)
use_collision = true
size = Vector3(1, 9.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D151" type="CSGBox3D" parent="." unique_id=1968876706]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 41, 9.25, -22)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D131" type="CSGBox3D" parent="." unique_id=1675803110]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 23, 5.5, 0)
use_collision = true
size = Vector3(3, 11, 3)
material = ExtResource("1_xmksr")
[node name="CSGBox3D132" type="CSGBox3D" parent="." unique_id=108620971]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36.5, 6, -4)
use_collision = true
size = Vector3(3, 10, 11)
material = ExtResource("1_xmksr")
[node name="CSGBox3D158" type="CSGBox3D" parent="." unique_id=77533158]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 3.75, -19.25)
use_collision = true
size = Vector3(9, 5.5, 6.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D155" type="CSGBox3D" parent="." unique_id=1730827237]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36.5, 0.5, -5.75)
use_collision = true
size = Vector3(3, 1, 7.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D159" type="CSGBox3D" parent="." unique_id=1747482656]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42.5, 0.5, -18.75)
use_collision = true
size = Vector3(4, 1, 7.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D160" type="CSGBox3D" parent="." unique_id=1268186444]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 49, 7, -19.25)
use_collision = true
size = Vector3(1, 1, 6.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D180" type="CSGBox3D" parent="." unique_id=733496755]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 49, 11.5, -33.75)
use_collision = true
size = Vector3(1, 1, 8.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D161" type="CSGBox3D" parent="." unique_id=921360817]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42.5, 7, -16.5)
use_collision = true
size = Vector3(12, 1, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D162" type="CSGBox3D" parent="." unique_id=1479157362]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 37.5, 7, -22)
use_collision = true
size = Vector3(22, 1, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D193" type="CSGBox3D" parent="." unique_id=39987925]
transform = Transform3D(0.9659258, 0.25881904, 0, -0.25881904, 0.9659258, 0, 0, 0, 1, 29.417656, -0.020204067, -27.5)
use_collision = true
size = Vector3(22, 5.5, 4)
material = ExtResource("1_xmksr")
[node name="CSGBox3D179" type="CSGBox3D" parent="." unique_id=263184352]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 46.5, 11.5, -30)
use_collision = true
size = Vector3(4, 1, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D182" type="CSGBox3D" parent="." unique_id=8396562]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 38.5, 11.5, -37.5)
use_collision = true
size = Vector3(4, 1, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D114" type="CSGBox3D" parent="." unique_id=422683316]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.75, 2, -0.75)
use_collision = true
size = Vector3(1.5, 4, 4.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D115" type="CSGBox3D" parent="." unique_id=14692895]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 3.75, -0.75)
use_collision = true
size = Vector3(3, 7.5, 4.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D105" type="CSGBox3D" parent="." unique_id=2018818759]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 6, -19.5)
use_collision = true
size = Vector3(4.5, 1, 7)
material = ExtResource("1_xmksr")
[node name="CSGBox3D113" type="CSGBox3D" parent="." unique_id=1051118207]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.5, 6, -17.75)
use_collision = true
size = Vector3(14, 1, 3.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D110" type="CSGBox3D" parent="." unique_id=1937286747]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 8.5, -24.5)
use_collision = true
size = Vector3(1, 18, 44)
material = ExtResource("1_xmksr")
[node name="CSGBox3D125" type="CSGBox3D" parent="." unique_id=2041935452]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0.5, -27.5)
use_collision = true
size = Vector3(1, 1, 4)
material = ExtResource("1_xmksr")
[node name="CSGBox3D118" type="CSGBox3D" parent="." unique_id=1234426636]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.75, 14.25, -37.5)
use_collision = true
size = Vector3(15.5, 6.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D189" type="CSGBox3D" parent="." unique_id=647325640]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.75, 17, -37.5)
use_collision = true
size = Vector3(3.5, 1, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D190" type="CSGBox3D" parent="." unique_id=1980398993]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.75, 11.5, -37.5)
use_collision = true
size = Vector3(3.5, 1, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D191" type="CSGBox3D" parent="." unique_id=1972994986]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 11.5, -33.75)
use_collision = true
size = Vector3(1, 1, 6.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D172" type="CSGBox3D" parent="." unique_id=230478125]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 13.75, -37.5)
use_collision = true
size = Vector3(17, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D181" type="CSGBox3D" parent="." unique_id=2102362617]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 13.75, -37.5)
use_collision = true
size = Vector3(9, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D174" type="CSGBox3D" parent="." unique_id=1996376366]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 32, 13.75, -30)
use_collision = true
size = Vector3(25, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D117" type="CSGBox3D" parent="." unique_id=1187105595]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 6.5, -17.75)
use_collision = true
size = Vector3(1, 2, 3.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D119" type="CSGBox3D" parent="." unique_id=1453067156]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 3.75, -17.5)
use_collision = true
size = Vector3(1, 7.5, 3)
material = ExtResource("1_xmksr")
[node name="CSGBox3D156" type="CSGBox3D" parent="." unique_id=1916016379]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 6.5, -20.75)
use_collision = true
size = Vector3(1, 2, 3.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D123" type="CSGBox3D" parent="." unique_id=880745657]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 2.75, -24.75)
use_collision = true
size = Vector3(1, 5.5, 11.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D135" type="CSGBox3D" parent="." unique_id=2080166757]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 2.75, -16.5)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D136" type="CSGBox3D" parent="." unique_id=635436804]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 2.75, -22)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D137" type="CSGBox3D" parent="." unique_id=629086623]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 2.75, -16.5)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D138" type="CSGBox3D" parent="." unique_id=633625954]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 2.75, -22)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D139" type="CSGBox3D" parent="." unique_id=1263579183]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 2.75, -16.5)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D140" type="CSGBox3D" parent="." unique_id=1180648473]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 2.75, -22)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D141" type="CSGBox3D" parent="." unique_id=1320530985]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 41, 2.75, -16.5)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D142" type="CSGBox3D" parent="." unique_id=555945249]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 41, 2.75, -22)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D144" type="CSGBox3D" parent="." unique_id=1065221174]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 9.25, -16.5)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D164" type="CSGBox3D" parent="." unique_id=218777162]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 11.5, -16.5)
use_collision = true
size = Vector3(1, 10, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D167" type="CSGBox3D" parent="." unique_id=1607928353]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 13.75, -30)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D168" type="CSGBox3D" parent="." unique_id=214809805]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 13.75, -30)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D170" type="CSGBox3D" parent="." unique_id=6455396]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 13.75, -37.5)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D165" type="CSGBox3D" parent="." unique_id=1029164331]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 11.5, -16.5)
use_collision = true
size = Vector3(1, 10, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D145" type="CSGBox3D" parent="." unique_id=1752112379]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 9.25, -22)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D146" type="CSGBox3D" parent="." unique_id=2128899569]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 9.25, -16.5)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D147" type="CSGBox3D" parent="." unique_id=815320183]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31, 9.25, -22)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D148" type="CSGBox3D" parent="." unique_id=891987126]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 9.25, -16.5)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D149" type="CSGBox3D" parent="." unique_id=1752445696]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 9.25, -22)
use_collision = true
size = Vector3(1, 5.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D124" type="CSGBox3D" parent="." unique_id=669807507]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 2.75, -24.75)
use_collision = true
size = Vector3(1, 5.5, 11.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D121" type="CSGBox3D" parent="." unique_id=453482274]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 3.25, -23.25)
use_collision = true
size = Vector3(3, 4.5, 14.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D120" type="CSGBox3D" parent="." unique_id=100386609]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24, 6, -17.5)
use_collision = true
size = Vector3(3, 12, 3)
material = ExtResource("1_xmksr")
[node name="CSGBox3D143" type="CSGBox3D" parent="." unique_id=161911569]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 33.5, 6, -19.25)
use_collision = true
size = Vector3(16, 1, 6.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D152" type="CSGBox3D" parent="." unique_id=354039555]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 33.5, 11.5, -19.25)
use_collision = true
size = Vector3(16, 1, 6.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D166" type="CSGBox3D" parent="." unique_id=2083293603]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 17, -23.25)
use_collision = true
size = Vector3(5, 1, 14.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D169" type="CSGBox3D" parent="." unique_id=2083348498]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 17, -33.75)
use_collision = true
size = Vector3(31, 1, 8.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D163" type="CSGBox3D" parent="." unique_id=917463914]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28.5, 7, -16.5)
use_collision = true
size = Vector3(4, 1, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D130" type="CSGBox3D" parent="." unique_id=351738265]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 5.5, -30)
use_collision = true
size = Vector3(1, 11, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D173" type="CSGBox3D" parent="." unique_id=1579213116]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 5.5, -30)
use_collision = true
size = Vector3(1, 11, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D175" type="CSGBox3D" parent="." unique_id=361118992]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 49, 3.75, -26)
use_collision = true
size = Vector3(1, 7.5, 9)
material = ExtResource("1_xmksr")
[node name="CSGBox3D176" type="CSGBox3D" parent="." unique_id=653049886]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 5.5, -37.5)
use_collision = true
size = Vector3(1, 11, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D177" type="CSGBox3D" parent="." unique_id=306067232]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 5.5, -37.5)
use_collision = true
size = Vector3(1, 11, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D178" type="CSGBox3D" parent="." unique_id=603554285]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 49, 5.5, -37.5)
use_collision = true
size = Vector3(1, 11, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D129" type="CSGBox3D" parent="." unique_id=598301869]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 12.25, -43.75)
use_collision = true
size = Vector3(5, 24.5, 5.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D187" type="CSGBox3D" parent="." unique_id=1435130769]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 5.25, -44.5)
use_collision = true
size = Vector3(5, 10.5, 4)
material = ExtResource("1_xmksr")
[node name="CSGBox3D188" type="CSGBox3D" parent="." unique_id=1169912197]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 38, 5.25, -46)
use_collision = true
size = Vector3(5, 10.5, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D186" type="CSGBox3D" parent="." unique_id=1249697679]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 12.25, -42.25)
use_collision = true
size = Vector3(9, 24.5, 8.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D111" type="CSGBox3D" parent="." unique_id=844466380]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 10.5, -36.5)
use_collision = true
size = Vector3(15, 1, 3)
material = ExtResource("1_xmksr")
[node name="CSGBox3D171" type="CSGBox3D" parent="." unique_id=1973718439]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 32, 10.5, -33.75)
use_collision = true
size = Vector3(35, 1, 8.5)
material = ExtResource("1_xmksr")
[node name="CSGBox3D126" type="CSGBox3D" parent="." unique_id=1374634162]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 8, -30)
use_collision = true
size = Vector3(5, 6, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D127" type="CSGBox3D" parent="." unique_id=14132175]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 5, -37.5)
use_collision = true
size = Vector3(5, 10, 1)
material = ExtResource("1_xmksr")
[node name="CSGBox3D133" type="CSGBox3D" parent="." unique_id=1879601264]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.75, 0.5, -24)
operation = 2
use_collision = true
size = Vector3(5.5, 1, 3)
material = ExtResource("1_xmksr")
[node name="CSGBox3D185" type="CSGBox3D" parent="." unique_id=1821811532]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.75, 13.5, -44)
operation = 2
use_collision = true
size = Vector3(5.5, 4, 3)
material = ExtResource("1_xmksr")
[node name="CSGBox3D104" type="CSGBox3D" parent="." unique_id=1760880982]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24.75, -12.25, -22.5)
use_collision = true
size = Vector3(49.5, 24.5, 48)
material = ExtResource("1_xmksr")
[node name="CSGBox3D157" type="CSGBox3D" parent="." unique_id=218728896]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 49, 0.5, -22)
use_collision = true
size = Vector3(1, 1, 49)
material = ExtResource("1_xmksr")
[node name="CSGBox3D122" type="CSGBox3D" parent="." unique_id=1105027560]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 2.75, -17.5)
use_collision = true
size = Vector3(1, 5.5, 3)
material = ExtResource("1_xmksr")

View File

@@ -0,0 +1,105 @@
[gd_scene format=3 uid="uid://ndnor8g7kq07"]
[ext_resource type="PackedScene" uid="uid://55wehh6xombr" path="res://maps/_templates/main_scene_template.tscn" id="1_k7f42"]
[ext_resource type="PackedScene" uid="uid://y77cdg7gg3y7" path="res://maps/levels/_arenas/playtest_1.tscn" id="2_kutfq"]
[ext_resource type="Material" uid="uid://31aulub2nqov" path="res://assets/materials/greybox/m_greybox.tres" id="3_1qo78"]
[ext_resource type="PackedScene" uid="uid://c305mfrtumcyq" path="res://scenes/spawners/spawner.tscn" id="4_jaqjx"]
[ext_resource type="PackedScene" uid="uid://dxt0e2ugmttqq" path="res://scenes/enemies/grounded_enemy/grounded_enemy.tscn" id="5_iq67o"]
[ext_resource type="Resource" uid="uid://bqq6uukbdfysr" path="res://scenes/enemies/grounded_enemy/grounded_enemy_movement.tres" id="6_l44fp"]
[ext_resource type="Resource" uid="uid://bohbojc68j7y1" path="res://scenes/enemies/grounded_enemy/grounded_enemy_health.tres" id="7_ucbss"]
[ext_resource type="Resource" uid="uid://otfc2snh8umc" path="res://scenes/enemies/grounded_enemy/grounded_enemy_damage.tres" id="8_2brdd"]
[ext_resource type="PackedScene" uid="uid://cmlud1hwkd6sv" path="res://scenes/enemies/flying_enemy/flying_enemy.tscn" id="9_4vdsh"]
[ext_resource type="Resource" uid="uid://bwqjaom4k7rc3" path="res://scenes/enemies/flying_enemy/flying_enemy_movement.tres" id="10_levmk"]
[ext_resource type="Resource" uid="uid://dg1xbjhyhgnnk" path="res://scenes/enemies/flying_enemy/flying_enemy_health.tres" id="11_5jlg7"]
[ext_resource type="Resource" uid="uid://dgo65k2ceqfvy" path="res://scenes/enemies/flying_enemy/flying_enemy_damage.tres" id="12_pjgox"]
[ext_resource type="PackedScene" uid="uid://qup00a7x2sji" path="res://scenes/fixed_dash_target/fixed_dashthrough_target.tscn" id="13_iq67o"]
[node name="Main" unique_id=955321579 instance=ExtResource("1_k7f42")]
[node name="PlaytestArena" parent="." index="6" unique_id=664535670 instance=ExtResource("2_kutfq")]
[node name="CSGBox3D108" type="CSGBox3D" parent="PlaytestArena" index="89" unique_id=1366898901]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 8.75, 2.25)
use_collision = true
size = Vector3(1, 17.5, 9.5)
material = ExtResource("3_1qo78")
[node name="Player" parent="." index="7" unique_id=1309399929]
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 3, 0, 0)
[node name="GroundedSpawner" parent="." index="8" unique_id=580981173 node_paths=PackedStringArray("Target") instance=ExtResource("4_jaqjx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 1, -42.5)
EnemyToSpawn = ExtResource("5_iq67o")
MovementInputs = ExtResource("6_l44fp")
HealthInputs = ExtResource("7_ucbss")
DamageInputs = ExtResource("8_2brdd")
Target = NodePath("../Player")
SpawnInterval = 5.0
[node name="GroundedSpawner2" parent="." index="9" unique_id=1026317919 node_paths=PackedStringArray("Target") instance=ExtResource("4_jaqjx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 46.5, 11.5, -34.5)
EnemyToSpawn = ExtResource("5_iq67o")
MovementInputs = ExtResource("6_l44fp")
HealthInputs = ExtResource("7_ucbss")
DamageInputs = ExtResource("8_2brdd")
Target = NodePath("../Player")
SpawnInterval = 5.0
[node name="GroundedSpawner3" parent="." index="10" unique_id=241829575 node_paths=PackedStringArray("Target") instance=ExtResource("4_jaqjx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 44.5, 0, -3)
EnemyToSpawn = ExtResource("5_iq67o")
MovementInputs = ExtResource("6_l44fp")
HealthInputs = ExtResource("7_ucbss")
DamageInputs = ExtResource("8_2brdd")
Target = NodePath("../Player")
SpawnInterval = 5.0
[node name="FlyingSpawner" parent="." index="11" unique_id=962840208 node_paths=PackedStringArray("Target") instance=ExtResource("4_jaqjx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.5, 19, -19.5)
EnemyToSpawn = ExtResource("9_4vdsh")
MovementInputs = ExtResource("10_levmk")
HealthInputs = ExtResource("11_5jlg7")
DamageInputs = ExtResource("12_pjgox")
Target = NodePath("../Player")
SpawnInterval = 5.0
[node name="FlyingSpawner2" parent="." index="12" unique_id=365997644 node_paths=PackedStringArray("Target") instance=ExtResource("4_jaqjx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45.5, 25.5, -42.5)
EnemyToSpawn = ExtResource("9_4vdsh")
MovementInputs = ExtResource("10_levmk")
HealthInputs = ExtResource("11_5jlg7")
DamageInputs = ExtResource("12_pjgox")
Target = NodePath("../Player")
SpawnInterval = 5.0
[node name="Targets" type="Node3D" parent="." index="13" unique_id=1620747784]
[node name="FixedDashthroughTarget" parent="Targets" index="0" unique_id=1291663508 instance=ExtResource("13_iq67o")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 17, 13.5, -9)
[node name="FixedDashthroughTarget8" parent="Targets" index="1" unique_id=854008187 instance=ExtResource("13_iq67o")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 17, 23, -34)
[node name="FixedDashthroughTarget9" parent="Targets" index="2" unique_id=529476368 instance=ExtResource("13_iq67o")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 35.5, 30.5, -42.5)
[node name="FixedDashthroughTarget10" parent="Targets" index="3" unique_id=401660770 instance=ExtResource("13_iq67o")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 26, 30.5, -42.5)
[node name="FixedDashthroughTarget7" parent="Targets" index="4" unique_id=644136386 instance=ExtResource("13_iq67o")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 10.5, 3.5, -9)
[node name="FixedDashthroughTarget6" parent="Targets" index="5" unique_id=1685514688 instance=ExtResource("13_iq67o")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 8, 6, -30.5)
[node name="FixedDashthroughTarget4" parent="Targets" index="6" unique_id=2114541126 instance=ExtResource("13_iq67o")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 30.5, 5, -33.5)
[node name="FixedDashthroughTarget5" parent="Targets" index="7" unique_id=1443410340 instance=ExtResource("13_iq67o")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 26.5, 9.5, -44)
[node name="FixedDashthroughTarget2" parent="Targets" index="8" unique_id=1611967884 instance=ExtResource("13_iq67o")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 27, 13.5, -9)
[node name="FixedDashthroughTarget3" parent="Targets" index="9" unique_id=1106453232 instance=ExtResource("13_iq67o")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 43, 6, -8.5)

View File

@@ -4,43 +4,77 @@
[ext_resource type="Material" uid="uid://31aulub2nqov" path="res://assets/materials/greybox/m_greybox.tres" id="2_lpm4c"]
[ext_resource type="Material" uid="uid://dw6lc8evmyc4d" path="res://assets/materials/greybox/m_greybox_valid.tres" id="3_u8sr4"]
[ext_resource type="Material" uid="uid://bm5f7jraqm8n0" path="res://assets/materials/greybox/m_greybox_secondary.tres" id="5_r26ni"]
[ext_resource type="PackedScene" uid="uid://87l65i0f2fqi" path="res://assets/meshes/stairs/stairs.tscn" id="5_u8sr4"]
[ext_resource type="Material" uid="uid://cqha1a2h1dg86" path="res://assets/materials/greybox/m_greybox_medium.tres" id="5_u8sr4"]
[ext_resource type="PackedScene" uid="uid://y77cdg7gg3y7" path="res://maps/levels/_arenas/playtest_1.tscn" id="6_qd7a7"]
[ext_resource type="PackedScene" uid="uid://b8aet6m4m2i83" path="res://scenes/tuto_trigger/TutoTrigger.tscn" id="7_r26ni"]
[ext_resource type="Texture2D" uid="uid://dl73t0kxkaxp0" path="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_button_a_outline.svg" id="8_6c6r2"]
[ext_resource type="Texture2D" uid="uid://bfkj4neu0m0rm" path="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_rt_outline.svg" id="9_v7818"]
[ext_resource type="Texture2D" uid="uid://cjh5cnvdbq5ku" path="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_button_b_outline.svg" id="10_hocby"]
[sub_resource type="BoxShape3D" id="BoxShape3D_6c6r2"]
size = Vector3(6.5, 9, 7.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_v7818"]
size = Vector3(10.5, 12.5, 7.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_hocby"]
size = Vector3(3, 12.5, 7.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_ovxxa"]
size = Vector3(3, 12.5, 6)
[sub_resource type="BoxShape3D" id="BoxShape3D_5ibpd"]
size = Vector3(3.5, 7, 10.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_6rkcg"]
size = Vector3(5.5, 6.5, 3)
[sub_resource type="BoxShape3D" id="BoxShape3D_p8dgc"]
size = Vector3(3, 6.5, 5.5)
[node name="Main" unique_id=955321579 instance=ExtResource("1_jyq54")]
[node name="DirectionalLight3D" parent="." index="5" unique_id=1357990191]
transform = Transform3D(-0.1772511, 0.44628847, 0.87715954, 0.49540228, -0.72966087, 0.4713508, 0.85038733, 0.51809436, -0.09175911, 0, 0, 0)
[node name="Player" parent="." index="6" unique_id=1309399929]
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, -0.5, 0.4102497, 0.5415039)
HasSword = false
HasParry = false
[node name="Greybox" type="CSGCombiner3D" parent="." index="7" unique_id=2082385716]
use_collision = true
collision_layer = 256
collision_mask = 65553
[node name="CSGBox3D" type="CSGBox3D" parent="Greybox" index="0" unique_id=681973284]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.096, -0.5, -46.329)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.0960007, -0.5, -19.2085)
use_collision = true
size = Vector3(100, 1, 190.741)
size = Vector3(21, 1, 44.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D2" type="CSGBox3D" parent="Greybox" index="1" unique_id=663820033]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.09600067, 3.25, 3.3005066)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.09600067, 4.5, 3.3005066)
use_collision = true
size = Vector3(10, 6.5, 2)
size = Vector3(10, 9, 2)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D5" type="CSGBox3D" parent="Greybox" index="2" unique_id=1332226948]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.0960007, 3.25, -16.699493)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.0960007, 4.25, -16.699493)
use_collision = true
size = Vector3(16, 6.5, 2)
size = Vector3(16, 8.5, 2)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D6" type="CSGBox3D" parent="Greybox" index="3" unique_id=868182610]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.096001, 3.25, -8.699493)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.096001, 4.25, -8.699493)
use_collision = true
size = Vector3(16, 6.5, 2)
size = Vector3(16, 8.5, 2)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D9" type="CSGBox3D" parent="Greybox" index="4" unique_id=1175427795]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7.75, -42)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8.25, -42)
use_collision = true
size = Vector3(38, 15.5, 2)
size = Vector3(38, 16.5, 2)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D10" type="CSGBox3D" parent="Greybox" index="5" unique_id=427936811]
@@ -50,27 +84,27 @@ size = Vector3(21.5, 17, 2)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D3" type="CSGBox3D" parent="Greybox" index="6" unique_id=1254886602]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 3.903999, 3.25, -6.6994934)
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 3.903999, 4.5, -6.6994934)
use_collision = true
size = Vector3(18, 6.5, 2)
size = Vector3(18, 9, 2)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D7" type="CSGBox3D" parent="Greybox" index="7" unique_id=133005848]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -18.096, 3.25, -25.449493)
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -18.096, 8, -25.449493)
use_collision = true
size = Vector3(31.5, 6.5, 2)
size = Vector3(31.5, 16, 2)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D8" type="CSGBox3D" parent="Greybox" index="8" unique_id=1267333699]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -10.096001, 3.25, -26.699493)
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -10.096001, 4.5, -26.699493)
use_collision = true
size = Vector3(18, 6.5, 2)
size = Vector3(18, 9, 2)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D4" type="CSGBox3D" parent="Greybox" index="9" unique_id=1453945590]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.0960007, 3.25, -2.6994934)
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -4.0960007, 4.5, -2.6994934)
use_collision = true
size = Vector3(10, 6.5, 2)
size = Vector3(10, 9, 2)
material = ExtResource("2_lpm4c")
[node name="Step" type="CSGCombiner3D" parent="Greybox" index="10" unique_id=1645604967]
@@ -124,6 +158,18 @@ use_collision = true
size = Vector3(7.5, 3.5, 3.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D18" type="CSGBox3D" parent="Greybox/Step3" index="3" unique_id=1687912660]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.25, -0.5, 8.5)
use_collision = true
size = Vector3(7.5, 1, 1)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D19" type="CSGBox3D" parent="Greybox/Step3" index="4" unique_id=1075815413]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.25, -2, 8.5)
use_collision = true
size = Vector3(7.5, 2, 1)
material = ExtResource("2_lpm4c")
[node name="Step4" type="CSGCombiner3D" parent="Greybox" index="13" unique_id=1579908989]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5, 6, -38.5)
@@ -145,80 +191,777 @@ use_collision = true
size = Vector3(7.5, 8, 3.5)
material = ExtResource("2_lpm4c")
[node name="stairs" parent="Greybox" index="14" unique_id=1895117406 instance=ExtResource("5_u8sr4")]
transform = Transform3D(-0.99999964, 0, -4.371139e-07, 0, 1, 0, 8.742275e-08, 0, -5, -8.5, 0, -38.5)
[node name="stairs2" parent="Greybox" index="15" unique_id=663901885 instance=ExtResource("5_u8sr4")]
transform = Transform3D(-0.99999964, 0, -4.371139e-07, 0, 1, 0, 8.742275e-08, 0, -5, -9.5, 1, -38.5)
[node name="CSGBox3D17" type="CSGBox3D" parent="Greybox" index="16" unique_id=1079419289]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.75, 0.75, -35.25)
[node name="CSGBox3D17" type="CSGBox3D" parent="Greybox" index="14" unique_id=1079419289]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.25, 0.75, -35.25)
use_collision = true
size = Vector3(7.5, 2.5, 11.5)
size = Vector3(6.5, 2.5, 11.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D11" type="CSGBox3D" parent="Greybox" index="17" unique_id=316945013]
[node name="CSGBox3D11" type="CSGBox3D" parent="Greybox" index="15" unique_id=316945013]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.75, 6.5, -35.25)
use_collision = true
size = Vector3(10.5, 1, 13.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D12" type="CSGBox3D" parent="Greybox" index="18" unique_id=1227474775]
[node name="CSGBox3D23" type="CSGBox3D" parent="Greybox" index="16" unique_id=1942257779]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 18.75, -38.25)
use_collision = true
size = Vector3(9, 5.5, 8.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D46" type="CSGBox3D" parent="Greybox" index="17" unique_id=1824745168]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 16.75, -38.25)
use_collision = true
size = Vector3(28, 1.5, 8.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D70" type="CSGBox3D" parent="Greybox" index="18" unique_id=1330738104]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 12.25, -15.5)
use_collision = true
size = Vector3(25, 7.5, 41)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D12" type="CSGBox3D" parent="Greybox" index="19" unique_id=1227474775]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.5, 10.25, -37.75)
use_collision = true
size = Vector3(2, 13.5, 7.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D13" type="CSGBox3D" parent="Greybox" index="19" unique_id=1383851577]
[node name="CSGBox3D13" type="CSGBox3D" parent="Greybox" index="20" unique_id=1383851577]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.5, 8, -31.5)
use_collision = true
size = Vector3(2, 16, 5)
material = ExtResource("5_r26ni")
[node name="CSGBox3D15" type="CSGBox3D" parent="Greybox" index="20" unique_id=238418660]
[node name="CSGBox3D15" type="CSGBox3D" parent="Greybox" index="21" unique_id=238418660]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.5, 8, -31.5)
use_collision = true
size = Vector3(2, 16, 5)
material = ExtResource("5_r26ni")
[node name="CSGBox3D14" type="CSGBox3D" parent="Greybox" index="21" unique_id=437211444]
[node name="CSGBox3D14" type="CSGBox3D" parent="Greybox" index="22" unique_id=437211444]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 8, -27)
use_collision = true
size = Vector3(7, 16, 4)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D20" type="CSGBox3D" parent="Greybox" index="22" unique_id=1913472587]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 16.5, -26.5)
[node name="CSGBox3D20" type="CSGBox3D" parent="Greybox" index="23" unique_id=1913472587]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 16.5, -8.5)
use_collision = true
size = Vector3(9, 1, 39)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D30" type="CSGBox3D" parent="Greybox" index="24" unique_id=1594042498]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 16.5, 17.5)
use_collision = true
size = Vector3(5, 1, 3)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D21" type="CSGBox3D" parent="Greybox" index="23" unique_id=2094633204]
[node name="CSGBox3D54" type="CSGBox3D" parent="Greybox" index="25" unique_id=157354874]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16, 15.5, 22.5)
use_collision = true
size = Vector3(5, 7, 3)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D38" type="CSGBox3D" parent="Greybox" index="26" unique_id=348698998]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 18.5, 17.5)
use_collision = true
size = Vector3(1, 1, 13)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D39" type="CSGBox3D" parent="Greybox" index="27" unique_id=850320525]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 13.75, 17.5)
use_collision = true
size = Vector3(7, 10.5, 14)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D60" type="CSGBox3D" parent="Greybox" index="28" unique_id=177087863]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 22, 17.5)
use_collision = true
size = Vector3(1, 1, 13)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D61" type="CSGBox3D" parent="Greybox" index="29" unique_id=16972982]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 17.25, 14.5)
use_collision = true
size = Vector3(7, 10.5, 20)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D37" type="CSGBox3D" parent="Greybox" index="30" unique_id=1733162117]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.75, 9.5, 17.75)
use_collision = true
size = Vector3(22.5, 1, 14.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D56" type="CSGBox3D" parent="Greybox" index="31" unique_id=790895849]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.25, 11.5, 17.75)
use_collision = true
size = Vector3(24.5, 1, 14.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D34" type="CSGBox3D" parent="Greybox" index="32" unique_id=2008368941]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.5, 12.5, 14.75)
use_collision = true
size = Vector3(6, 7, 8.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D43" type="CSGBox3D" parent="Greybox" index="33" unique_id=1975028151]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.5, 12.5, 17.5)
use_collision = true
size = Vector3(4, 7, 3)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D44" type="CSGBox3D" parent="Greybox" index="34" unique_id=177387693]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 10.5, 17.25)
use_collision = true
size = Vector3(3, 3, 13.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D35" type="CSGBox3D" parent="Greybox" index="35" unique_id=570122850]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 16.5, 17.25)
use_collision = true
size = Vector3(5, 1, 13.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D21" type="CSGBox3D" parent="Greybox" index="36" unique_id=2094633204]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 16.5, -29.5)
use_collision = true
size = Vector3(1, 1, 9)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D22" type="CSGBox3D" parent="Greybox" index="24" unique_id=1623594342]
[node name="CSGBox3D24" type="CSGBox3D" parent="Greybox" index="37" unique_id=761197989]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 18.75, -29.5)
use_collision = true
size = Vector3(1, 5.5, 9)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D26" type="CSGBox3D" parent="Greybox" index="38" unique_id=258581541]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 18.25, -7)
use_collision = true
size = Vector3(3, 6.5, 36)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D42" type="CSGBox3D" parent="Greybox" index="39" unique_id=1332460934]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 25.75, -15.25)
use_collision = true
size = Vector3(9, 8.5, 52.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D27" type="CSGBox3D" parent="Greybox" index="40" unique_id=1484621306]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 22.5, -0.5)
use_collision = true
size = Vector3(3, 15, 49)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D31" type="CSGBox3D" parent="Greybox" index="41" unique_id=1289594807]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 19.25, 24.5)
use_collision = true
size = Vector3(35, 21.5, 1)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D57" type="CSGBox3D" parent="Greybox" index="42" unique_id=652826918]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 14.25, 24.5)
use_collision = true
size = Vector3(17, 11.5, 1)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D58" type="CSGBox3D" parent="Greybox" index="43" unique_id=1738066207]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.5, 23.5, 24.5)
use_collision = true
size = Vector3(16, 7, 1)
material = ExtResource("5_r26ni")
[node name="CSGBox3D59" type="CSGBox3D" parent="Greybox" index="44" unique_id=1421965564]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.5, 28.5, 24.5)
use_collision = true
size = Vector3(16, 3, 1)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D63" type="CSGBox3D" parent="Greybox" index="45" unique_id=1781215916]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 26.25, 24.5)
use_collision = true
size = Vector3(7, 7.5, 1)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D64" type="CSGBox3D" parent="Greybox" index="46" unique_id=1515829063]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -39, 21.25, 14.75)
use_collision = true
size = Vector3(1, 17.5, 20.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D65" type="CSGBox3D" parent="Greybox" index="47" unique_id=807471618]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -35, 21.25, 7.25)
use_collision = true
size = Vector3(1, 17.5, 5.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D73" type="CSGBox3D" parent="Greybox" index="48" unique_id=1654535689]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31.5, 20.25, -15.75)
use_collision = true
size = Vector3(1, 19.5, 40.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D75" type="CSGBox3D" parent="Greybox" index="49" unique_id=1061275423]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -33.25, 20.25, 4.75)
use_collision = true
size = Vector3(4.5, 19.5, 2.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D76" type="CSGBox3D" parent="Greybox" index="50" unique_id=2120571329]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40.75, 20.25, 4.75)
use_collision = true
size = Vector3(4.5, 19.5, 2.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D79" type="CSGBox3D" parent="Greybox" index="51" unique_id=780854741]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -33.25, 20.25, -9.75)
use_collision = true
size = Vector3(4.5, 19.5, 5.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D80" type="CSGBox3D" parent="Greybox" index="52" unique_id=231628410]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40.75, 20.25, -9.75)
use_collision = true
size = Vector3(4.5, 19.5, 5.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D95" type="CSGBox3D" parent="Greybox" index="53" unique_id=1030736240]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -31, 20.25, -34.25)
use_collision = true
size = Vector3(9, 19.5, 5.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D100" type="CSGBox3D" parent="Greybox" index="54" unique_id=251951336]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25.5, 20.25, -40.75)
use_collision = true
size = Vector3(3, 19.5, 18.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D106" type="CSGBox3D" parent="Greybox" index="55" unique_id=1694005286]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.25, 37, -42.75)
use_collision = true
size = Vector3(25.5, 14, 22.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D107" type="CSGBox3D" parent="Greybox" index="56" unique_id=1819732168]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 30.5, -3.25)
use_collision = true
size = Vector3(12, 1, 56.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D108" type="CSGBox3D" parent="Greybox" index="57" unique_id=791611886]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.25, 30.5, 17.5)
use_collision = true
size = Vector3(47.5, 1, 15)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D96" type="CSGBox3D" parent="Greybox" index="58" unique_id=1113234130]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40.75, 20.25, -34.25)
use_collision = true
size = Vector3(4.5, 19.5, 5.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D97" type="CSGBox3D" parent="Greybox" index="59" unique_id=28477813]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.25, 19.25, -53.5)
use_collision = true
size = Vector3(25.5, 21.5, 1)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D74" type="CSGBox3D" parent="Greybox" index="60" unique_id=163691033]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42.5, 20.25, -24.25)
use_collision = true
size = Vector3(1, 19.5, 57.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D40" type="CSGBox3D" parent="Greybox" index="61" unique_id=149448218]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 19.5, 10.5)
use_collision = true
size = Vector3(43, 22, 1)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D28" type="CSGBox3D" parent="Greybox" index="62" unique_id=34926235]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 20.25, -10.25)
use_collision = true
size = Vector3(3, 2.5, 6.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D29" type="CSGBox3D" parent="Greybox" index="63" unique_id=1236916367]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 18.5, -10.25)
use_collision = true
size = Vector3(3, 1, 6.5)
material = ExtResource("5_u8sr4")
[node name="CSGBox3D32" type="CSGBox3D" parent="Greybox" index="64" unique_id=1361663538]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 20.25, 7.75)
use_collision = true
size = Vector3(3, 2.5, 6.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D33" type="CSGBox3D" parent="Greybox" index="65" unique_id=2014293618]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 18.5, 7.75)
use_collision = true
size = Vector3(3, 1, 6.5)
material = ExtResource("5_u8sr4")
[node name="CSGBox3D25" type="CSGBox3D" parent="Greybox" index="66" unique_id=1000059913]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16, 18.75, -29.5)
use_collision = true
size = Vector3(1, 5.5, 9)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D22" type="CSGBox3D" parent="Greybox" index="67" unique_id=1623594342]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 16.5, -29.5)
use_collision = true
size = Vector3(1, 1, 9)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D16" type="CSGBox3D" parent="Greybox" index="25" unique_id=1660129006]
[node name="CSGBox3D16" type="CSGBox3D" parent="Greybox" index="68" unique_id=1660129006]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 16.5, -28.5)
use_collision = true
size = Vector3(5, 1, 1)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D18" type="CSGBox3D" parent="Greybox" index="26" unique_id=528606233]
[node name="CSGBox3D18" type="CSGBox3D" parent="Greybox" index="69" unique_id=528606233]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 16.5, -31.5)
use_collision = true
size = Vector3(1, 1, 5)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D19" type="CSGBox3D" parent="Greybox" index="27" unique_id=533984919]
[node name="CSGBox3D19" type="CSGBox3D" parent="Greybox" index="70" unique_id=533984919]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 16.5, -31.5)
use_collision = true
size = Vector3(1, 1, 5)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D36" type="CSGBox3D" parent="Greybox" index="71" unique_id=1460670998]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 16.5, 13.5)
use_collision = true
size = Vector3(1, 1, 5)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D49" type="CSGBox3D" parent="Greybox" index="72" unique_id=1821984513]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.5, 12.5, 17.25)
use_collision = true
size = Vector3(6, 7, 13.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D50" type="CSGBox3D" parent="Greybox" index="73" unique_id=935249000]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 16.5, 13.5)
use_collision = true
size = Vector3(1, 1, 5)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D51" type="CSGBox3D" parent="Greybox" index="74" unique_id=2063626202]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 16.5, 21.5)
use_collision = true
size = Vector3(1, 1, 5)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D45" type="CSGBox3D" parent="Greybox" index="75" unique_id=1969803797]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 17.5, 17.5)
use_collision = true
size = Vector3(1, 1, 3)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D62" type="CSGBox3D" parent="Greybox" index="76" unique_id=246528851]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 19.5, 22.5)
use_collision = true
size = Vector3(1, 1, 3)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D41" type="CSGBox3D" parent="Greybox" index="77" unique_id=902325179]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 12.5, 13.5)
use_collision = true
size = Vector3(1, 1, 5)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D55" type="CSGBox3D" parent="Greybox" index="78" unique_id=1746662054]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.75, 12.5, 16)
use_collision = true
size = Vector3(1.5, 3, 11)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D52" type="CSGBox3D" parent="Greybox" index="79" unique_id=1613606807]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 14.5, 17.25)
use_collision = true
size = Vector3(1, 7, 13.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D53" type="CSGBox3D" parent="Greybox" index="80" unique_id=2043849714]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 18.5, 16)
use_collision = true
size = Vector3(1, 1, 10)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D48" type="CSGBox3D" parent="Greybox" index="81" unique_id=998426919]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 14.5, 16)
use_collision = true
size = Vector3(1, 1, 10)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D66" type="CSGBox3D" parent="Greybox" index="82" unique_id=1549586957]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 19.5, 4)
use_collision = true
size = Vector3(3, 4, 1)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D78" type="CSGBox3D" parent="Greybox" index="83" unique_id=1305480601]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37.5, 15.75, -7.25)
use_collision = true
size = Vector3(11, 13.5, 8.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D67" type="CSGBox3D" parent="Greybox" index="84" unique_id=11222487]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 22, 4)
use_collision = true
size = Vector3(3, 1, 1)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D86" type="CSGBox3D" parent="Greybox" index="85" unique_id=905628818]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 22, -12)
use_collision = true
size = Vector3(3, 1, 1)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D77" type="CSGBox3D" parent="Greybox" index="86" unique_id=582978856]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 22, -2.5)
use_collision = true
size = Vector3(10, 1, 1)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D87" type="CSGBox3D" parent="Greybox" index="87" unique_id=1897627146]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 15.75, -31.75)
use_collision = true
size = Vector3(10, 13.5, 8.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D88" type="CSGBox3D" parent="Greybox" index="88" unique_id=854998014]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 22, -27)
use_collision = true
size = Vector3(10, 1, 1)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D98" type="CSGBox3D" parent="Greybox" index="89" unique_id=447434163]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -23.75, 15.5, -51.5)
use_collision = true
size = Vector3(12.5, 14, 3)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D101" type="CSGBox3D" parent="Greybox" index="90" unique_id=1996176072]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.75, 19.25, -48.5)
use_collision = true
size = Vector3(6.5, 21.5, 3)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D99" type="CSGBox3D" parent="Greybox" index="91" unique_id=2008353765]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -28.5, 22, -49.5)
use_collision = true
size = Vector3(3, 1, 1)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D109" type="CSGBox3D" parent="Greybox" index="92" unique_id=519906200]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30.5, 22, -51)
use_collision = true
size = Vector3(1, 1, 4)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D68" type="CSGBox3D" parent="Greybox" index="93" unique_id=743815889]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -36.5, 16.5, 0.5)
use_collision = true
size = Vector3(12, 4, 8)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D69" type="CSGBox3D" parent="Greybox" index="94" unique_id=1709107988]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -36.5, 19.5, -2.75)
use_collision = true
size = Vector3(12, 4, 1.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D72" type="CSGBox3D" parent="Greybox" index="95" unique_id=547486564]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34.75, 10, -24.75)
use_collision = true
size = Vector3(19.5, 3, 58.5)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D81" type="CSGBox3D" parent="Greybox" index="96" unique_id=1566599507]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 19.5, -12)
use_collision = true
size = Vector3(3, 4, 1)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D82" type="CSGBox3D" parent="Greybox" index="97" unique_id=1617624220]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 16, -12.5)
use_collision = true
size = Vector3(3, 3, 2)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D83" type="CSGBox3D" parent="Greybox" index="98" unique_id=1568985583]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 18, -13)
use_collision = true
size = Vector3(3, 1, 1)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D84" type="CSGBox3D" parent="Greybox" index="99" unique_id=631880926]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 13, -13)
use_collision = true
size = Vector3(3, 3, 3)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D85" type="CSGBox3D" parent="Greybox" index="100" unique_id=996930960]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 15, -14)
use_collision = true
size = Vector3(3, 1, 1)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D89" type="CSGBox3D" parent="Greybox" index="101" unique_id=1602075080]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 22, -36.5)
use_collision = true
size = Vector3(3, 1, 1)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D90" type="CSGBox3D" parent="Greybox" index="102" unique_id=1904513833]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 19.5, -36.5)
use_collision = true
size = Vector3(3, 4, 1)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D91" type="CSGBox3D" parent="Greybox" index="103" unique_id=1314237812]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 16, -37)
use_collision = true
size = Vector3(3, 3, 2)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D92" type="CSGBox3D" parent="Greybox" index="104" unique_id=560010720]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 18, -37.5)
use_collision = true
size = Vector3(3, 1, 1)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D93" type="CSGBox3D" parent="Greybox" index="105" unique_id=147254481]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 13, -37.5)
use_collision = true
size = Vector3(3, 3, 3)
material = ExtResource("2_lpm4c")
[node name="CSGBox3D94" type="CSGBox3D" parent="Greybox" index="106" unique_id=691195821]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 15, -38.5)
use_collision = true
size = Vector3(3, 1, 1)
material = ExtResource("3_u8sr4")
[node name="CSGBox3D47" type="CSGBox3D" parent="Greybox" index="107" unique_id=1635436254]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 12.5, 21.5)
use_collision = true
size = Vector3(1, 1, 5)
material = ExtResource("3_u8sr4")
[node name="PlaytestArena" parent="." index="8" unique_id=664535670 instance=ExtResource("6_qd7a7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -17.5, 22.5, -51.5)
[node name="Lights" type="Node3D" parent="." index="9" unique_id=395750804]
[node name="OmniLight3D" type="OmniLight3D" parent="Lights" index="0" unique_id=1759925856]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 2, -12)
omni_range = 6.0
[node name="OmniLight3D2" type="OmniLight3D" parent="Lights" index="1" unique_id=458028986]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 2.5, -18)
omni_range = 6.0
[node name="OmniLight3D3" type="OmniLight3D" parent="Lights" index="2" unique_id=735245103]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16, 7, -39.5)
omni_range = 9.5
[node name="OmniLight3D31" type="OmniLight3D" parent="Lights" index="3" unique_id=829009277]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 4.5, -24.5)
omni_range = 9.5
[node name="OmniLight3D4" type="OmniLight3D" parent="Lights" index="4" unique_id=92911518]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 5.5, -38.5)
omni_range = 5.5
[node name="OmniLight3D30" type="OmniLight3D" parent="Lights" index="5" unique_id=697077536]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 3, -38.5)
[node name="OmniLight3D5" type="OmniLight3D" parent="Lights" index="6" unique_id=1550409099]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.5, 9.5, -39)
omni_range = 6.5
[node name="OmniLight3D6" type="OmniLight3D" parent="Lights" index="7" unique_id=342293346]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 10.5, -32)
omni_range = 3.5
[node name="OmniLight3D7" type="OmniLight3D" parent="Lights" index="8" unique_id=1443833930]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 19.5, -32)
omni_range = 8.0
[node name="OmniLight3D8" type="OmniLight3D" parent="Lights" index="9" unique_id=260674221]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 20, -15)
omni_range = 4.0
[node name="OmniLight3D9" type="OmniLight3D" parent="Lights" index="10" unique_id=1269832640]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 20, 3.5)
omni_range = 4.0
[node name="OmniLight3D10" type="OmniLight3D" parent="Lights" index="11" unique_id=21886206]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 17.5, -6.5)
omni_range = 7.5
[node name="OmniLight3D11" type="OmniLight3D" parent="Lights" index="12" unique_id=1631281854]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 17.5, 11.5)
omni_range = 7.5
[node name="OmniLight3D12" type="OmniLight3D" parent="Lights" index="13" unique_id=1292223180]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.5, 19, 17.5)
omni_range = 4.5
[node name="OmniLight3D15" type="OmniLight3D" parent="Lights" index="14" unique_id=895379786]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 21, 22.5)
omni_range = 3.5
[node name="OmniLight3D18" type="OmniLight3D" parent="Lights" index="15" unique_id=277657948]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24.5, 24.5, 17.5)
omni_range = 15.5
[node name="OmniLight3D13" type="OmniLight3D" parent="Lights" index="16" unique_id=305122268]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 22.5, 20.5)
omni_range = 7.0
[node name="OmniLight3D14" type="OmniLight3D" parent="Lights" index="17" unique_id=915168140]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 22.5, 17.5)
omni_range = 10.0
[node name="OmniLight3D16" type="OmniLight3D" parent="Lights" index="18" unique_id=1080888977]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -35.5, 25.5, 22)
omni_range = 7.0
[node name="OmniLight3D17" type="OmniLight3D" parent="Lights" index="19" unique_id=922282838]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -36.5, 25.5, 10.5)
omni_range = 7.0
[node name="OmniLight3D19" type="OmniLight3D" parent="Lights" index="20" unique_id=1959866895]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 25.5, -5.5)
omni_range = 7.0
[node name="OmniLight3D29" type="OmniLight3D" parent="Lights" index="21" unique_id=2143811783]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 25.5, -16.5)
omni_range = 7.0
[node name="OmniLight3D20" type="OmniLight3D" parent="Lights" index="22" unique_id=1665621589]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 24.5, -29)
omni_range = 7.0
[node name="OmniLight3D21" type="OmniLight3D" parent="Lights" index="23" unique_id=1870279999]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 24.5, -29)
omni_range = 7.0
[node name="OmniLight3D22" type="OmniLight3D" parent="Lights" index="24" unique_id=1284564847]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 24.5, -39.5)
omni_range = 7.0
[node name="OmniLight3D23" type="OmniLight3D" parent="Lights" index="25" unique_id=1612575478]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 24.5, -39.5)
omni_range = 7.0
[node name="OmniLight3D24" type="OmniLight3D" parent="Lights" index="26" unique_id=1748145610]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -33.5, 24.5, -47)
omni_range = 10.0
[node name="OmniLight3D25" type="OmniLight3D" parent="Lights" index="27" unique_id=727558952]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -28, 24.5, -51)
[node name="OmniLight3D26" type="OmniLight3D" parent="Lights" index="28" unique_id=1646376304]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 24.5, -51.5)
omni_range = 7.0
[node name="OmniLight3D27" type="OmniLight3D" parent="Lights" index="29" unique_id=1849438050]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 24.5, -51.5)
omni_range = 4.5
[node name="Tutorials" type="Node3D" parent="." index="10" unique_id=955125222]
[node name="TutoTrigger" parent="Tutorials" index="0" unique_id=840713937 instance=ExtResource("7_r26ni")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 1, -20)
first_input_texture = ExtResource("8_6c6r2")
tuto_text = "Mantle"
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorials/TutoTrigger" index="1" unique_id=518998736]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.25, 3.5, -1.75)
shape = SubResource("BoxShape3D_6c6r2")
[node name="TutoTrigger2" parent="Tutorials" index="1" unique_id=878603028 instance=ExtResource("7_r26ni")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 2.5, -37.5)
first_input_texture = ExtResource("8_6c6r2")
tuto_text = "Jump"
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorials/TutoTrigger2" index="1" unique_id=1454863883]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.75, 3.25, -1.75)
shape = SubResource("BoxShape3D_v7818")
[node name="TutoTrigger3" parent="Tutorials" index="2" unique_id=1537320837 instance=ExtResource("7_r26ni")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 2.5, -37.5)
first_input_texture = ExtResource("8_6c6r2")
second_input_texture = ExtResource("8_6c6r2")
tuto_text = "Double jump"
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorials/TutoTrigger3" index="1" unique_id=216496744]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.25, -1.75)
shape = SubResource("BoxShape3D_hocby")
[node name="TutoTrigger4" parent="Tutorials" index="3" unique_id=903897281 instance=ExtResource("7_r26ni")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 7.5, -30.5)
first_input_texture = ExtResource("8_6c6r2")
complex_input_text = "against wall"
tuto_text = "Wall jump"
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorials/TutoTrigger4" index="1" unique_id=1224334781]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.25, -1)
shape = SubResource("BoxShape3D_ovxxa")
[node name="TutoTrigger5" parent="Tutorials" index="4" unique_id=1703929757 instance=ExtResource("7_r26ni")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.5, 18.5, -30.5)
first_input_texture = ExtResource("9_v7818")
complex_input_text = "with speed"
tuto_text = "Slide"
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorials/TutoTrigger5" index="1" unique_id=614350904]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.75, 0.5, 12.25)
shape = SubResource("BoxShape3D_5ibpd")
[node name="TutoTrigger6" parent="Tutorials" index="5" unique_id=1739438130 instance=ExtResource("7_r26ni")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 19, 19)
first_input_texture = ExtResource("8_6c6r2")
complex_input_text = "while mantling"
tuto_text = "Improved jump"
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorials/TutoTrigger6" index="1" unique_id=821335302]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.25, 0.25, -1.5)
shape = SubResource("BoxShape3D_6rkcg")
[node name="TutoTrigger7" parent="Tutorials" index="6" unique_id=1993844947 instance=ExtResource("7_r26ni")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -17.5, 21, 24)
first_input_texture = ExtResource("8_6c6r2")
complex_input_text = "double tap"
tuto_text = "Try to wall run"
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorials/TutoTrigger7" index="1" unique_id=1194306224]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.25, 0.25, -1.5)
shape = SubResource("BoxShape3D_6rkcg")
[node name="TutoTrigger8" parent="Tutorials" index="7" unique_id=540710346 instance=ExtResource("7_r26ni")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 25, 10)
first_input_texture = ExtResource("10_hocby")
tuto_text = "dash"
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorials/TutoTrigger8" index="1" unique_id=1793181148]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, -3.75)
shape = SubResource("BoxShape3D_p8dgc")
[node name="TutoTrigger9" parent="Tutorials" index="8" unique_id=2062889854 instance=ExtResource("7_r26ni")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -37, 25, -6)
first_input_texture = ExtResource("10_hocby")
tuto_text = "dash"
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorials/TutoTrigger9" index="1" unique_id=192598019]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, -3.75)
shape = SubResource("BoxShape3D_p8dgc")

View File

@@ -0,0 +1,279 @@
[gd_scene format=3 uid="uid://e81wsmpen58r"]
[ext_resource type="PackedScene" uid="uid://55wehh6xombr" path="res://maps/_templates/main_scene_template.tscn" id="1_8n6bu"]
[ext_resource type="PackedScene" uid="uid://y77cdg7gg3y7" path="res://maps/levels/_arenas/playtest_1.tscn" id="2_wsc2c"]
[ext_resource type="Material" uid="uid://31aulub2nqov" path="res://assets/materials/greybox/m_greybox.tres" id="3_wsc2c"]
[ext_resource type="PackedScene" uid="uid://qup00a7x2sji" path="res://scenes/fixed_dash_target/fixed_dashthrough_target.tscn" id="4_invhv"]
[ext_resource type="PackedScene" uid="uid://dxt0e2ugmttqq" path="res://scenes/enemies/grounded_enemy/grounded_enemy.tscn" id="5_ofbe2"]
[ext_resource type="Script" uid="uid://dtpxijlnb2c5" path="res://scenes/components/movement/RMovement.cs" id="6_cgfmf"]
[ext_resource type="Script" uid="uid://baiapod3csndf" path="res://scenes/components/health/RHealth.cs" id="7_hr4qv"]
[ext_resource type="PackedScene" uid="uid://cmlud1hwkd6sv" path="res://scenes/enemies/flying_enemy/flying_enemy.tscn" id="8_dkfm7"]
[sub_resource type="Resource" id="Resource_nwk5u"]
script = ExtResource("6_cgfmf")
GravityModifier = 5.0
metadata/_custom_type_script = "uid://dtpxijlnb2c5"
[sub_resource type="Resource" id="Resource_xy0m1"]
script = ExtResource("7_hr4qv")
StartingHealth = 100.0
metadata/_custom_type_script = "uid://baiapod3csndf"
[node name="Main" unique_id=955321579 instance=ExtResource("1_8n6bu")]
[node name="Player" parent="." index="6" unique_id=1309399929]
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 3, 0, -1.5)
[node name="PlaytestArena" parent="." index="7" unique_id=664535670 instance=ExtResource("2_wsc2c")]
[node name="CSGBox3D108" type="CSGBox3D" parent="PlaytestArena" index="88" unique_id=47922109]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 8.75, 2.25)
use_collision = true
size = Vector3(1, 17.5, 9.5)
material = ExtResource("3_wsc2c")
[node name="Targets" type="Node3D" parent="." index="8" unique_id=1727473773]
[node name="FixedDashthroughTarget" parent="Targets" index="0" unique_id=1291663508 instance=ExtResource("4_invhv")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 17, 13.5, -9)
[node name="FixedDashthroughTarget8" parent="Targets" index="1" unique_id=475406577 instance=ExtResource("4_invhv")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 17, 23, -34)
[node name="FixedDashthroughTarget9" parent="Targets" index="2" unique_id=168635463 instance=ExtResource("4_invhv")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 35.5, 30.5, -42.5)
[node name="FixedDashthroughTarget10" parent="Targets" index="3" unique_id=119396227 instance=ExtResource("4_invhv")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 26, 30.5, -42.5)
[node name="FixedDashthroughTarget7" parent="Targets" index="4" unique_id=282429016 instance=ExtResource("4_invhv")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 10.5, 5.5, -9)
[node name="FixedDashthroughTarget6" parent="Targets" index="5" unique_id=437890277 instance=ExtResource("4_invhv")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 8, 6, -30.5)
[node name="FixedDashthroughTarget4" parent="Targets" index="6" unique_id=1484691271 instance=ExtResource("4_invhv")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 30.5, 5, -33.5)
[node name="FixedDashthroughTarget5" parent="Targets" index="7" unique_id=434257222 instance=ExtResource("4_invhv")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 26.5, 9.5, -44)
[node name="FixedDashthroughTarget2" parent="Targets" index="8" unique_id=272400108 instance=ExtResource("4_invhv")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 27, 13.5, -9)
[node name="FixedDashthroughTarget3" parent="Targets" index="9" unique_id=1008201593 instance=ExtResource("4_invhv")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 43, 6, -8.5)
[node name="FlyingEnemies" type="Node3D" parent="." index="9" unique_id=1518759273]
[node name="FlyingEnemy" parent="FlyingEnemies" index="0" unique_id=2090203407 node_paths=PackedStringArray("Target") instance=ExtResource("8_dkfm7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.5, 7, -9)
Target = NodePath("../../Player")
RMovement = SubResource("Resource_nwk5u")
[node name="FlyingEnemy10" parent="FlyingEnemies" index="1" unique_id=1610354388 node_paths=PackedStringArray("Target") instance=ExtResource("8_dkfm7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 32.5, 7, 0.5)
Target = NodePath("../../Player")
RMovement = SubResource("Resource_nwk5u")
[node name="FlyingEnemy11" parent="FlyingEnemies" index="2" unique_id=1671862122 node_paths=PackedStringArray("Target") instance=ExtResource("8_dkfm7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28, 7, 1.5)
Target = NodePath("../../Player")
RMovement = SubResource("Resource_nwk5u")
[node name="FlyingEnemy4" parent="FlyingEnemies" index="3" unique_id=665537400 node_paths=PackedStringArray("Target") instance=ExtResource("8_dkfm7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 33, 6, -12)
Target = NodePath("../../Player")
RMovement = SubResource("Resource_nwk5u")
[node name="FlyingEnemy5" parent="FlyingEnemies" index="4" unique_id=1592183094 node_paths=PackedStringArray("Target") instance=ExtResource("8_dkfm7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 6, -12)
Target = NodePath("../../Player")
RMovement = SubResource("Resource_nwk5u")
[node name="FlyingEnemy9" parent="FlyingEnemies" index="5" unique_id=842890582 node_paths=PackedStringArray("Target") instance=ExtResource("8_dkfm7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 6, -1.5)
Target = NodePath("../../Player")
RMovement = SubResource("Resource_nwk5u")
[node name="FlyingEnemy2" parent="FlyingEnemies" index="6" unique_id=188061312 node_paths=PackedStringArray("Target") instance=ExtResource("8_dkfm7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.5, 11, -24)
Target = NodePath("../../Player")
RMovement = SubResource("Resource_nwk5u")
[node name="FlyingEnemy12" parent="FlyingEnemies" index="7" unique_id=821624940 node_paths=PackedStringArray("Target") instance=ExtResource("8_dkfm7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 8.5, -24)
Target = NodePath("../../Player")
RMovement = SubResource("Resource_nwk5u")
[node name="FlyingEnemy3" parent="FlyingEnemies" index="8" unique_id=412581083 node_paths=PackedStringArray("Target") instance=ExtResource("8_dkfm7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 14, -32.5)
Target = NodePath("../../Player")
RMovement = SubResource("Resource_nwk5u")
[node name="FlyingEnemy6" parent="FlyingEnemies" index="9" unique_id=779578466 node_paths=PackedStringArray("Target") instance=ExtResource("8_dkfm7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 23.5, -23)
Target = NodePath("../../Player")
RMovement = SubResource("Resource_nwk5u")
[node name="FlyingEnemy7" parent="FlyingEnemies" index="10" unique_id=1163439326 node_paths=PackedStringArray("Target") instance=ExtResource("8_dkfm7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 23.5, -23)
Target = NodePath("../../Player")
RMovement = SubResource("Resource_nwk5u")
[node name="FlyingEnemy8" parent="FlyingEnemies" index="11" unique_id=1979706254 node_paths=PackedStringArray("Target") instance=ExtResource("8_dkfm7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 43, 23.5, -23)
Target = NodePath("../../Player")
RMovement = SubResource("Resource_nwk5u")
[node name="GroundedEnemies" type="Node3D" parent="." index="10" unique_id=1101330520]
[node name="Enemy3" parent="GroundedEnemies" index="0" unique_id=1159989424 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 25, 0, -8.336809)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy11" parent="GroundedEnemies" index="1" unique_id=1747444936 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 17, 8, 3.6631908)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy12" parent="GroundedEnemies" index="2" unique_id=283117081 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 36.5, 11, -4.836809)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy13" parent="GroundedEnemies" index="3" unique_id=970022638 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 36.5, 12, -19.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy18" parent="GroundedEnemies" index="4" unique_id=2077088475 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 30.5, 12, -19.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy19" parent="GroundedEnemies" index="5" unique_id=2023773341 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 36.5, 7.5, -19.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy25" parent="GroundedEnemies" index="6" unique_id=1101329723 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 46, 7.5, -19.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy26" parent="GroundedEnemies" index="7" unique_id=855220553 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 46, 12, -35.336807)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy20" parent="GroundedEnemies" index="8" unique_id=1255215986 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 30.5, 7.5, -19.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy21" parent="GroundedEnemies" index="9" unique_id=2098915426 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 36.5, 0.5, -19.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy22" parent="GroundedEnemies" index="10" unique_id=246912749 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 30.5, 0.5, -19.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy14" parent="GroundedEnemies" index="11" unique_id=211015190 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 41, 17.5, -33.336807)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy15" parent="GroundedEnemies" index="12" unique_id=1164179421 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 31, 17.5, -33.336807)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy16" parent="GroundedEnemies" index="13" unique_id=1169725422 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 24.5, 17.5, -33.336807)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy17" parent="GroundedEnemies" index="14" unique_id=1951666189 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 17.5, 17.5, -22.836807)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy23" parent="GroundedEnemies" index="15" unique_id=1348057502 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 17.5, 24.5, -43.336807)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy24" parent="GroundedEnemies" index="16" unique_id=2068813971 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 45, 24.5, -43.336807)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy4" parent="GroundedEnemies" index="17" unique_id=366059658 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 10.5, 0, -18.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy27" parent="GroundedEnemies" index="18" unique_id=883912991 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 13.5, 0, 1.1631908)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy7" parent="GroundedEnemies" index="19" unique_id=1389063523 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 25.5, 4, -27.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy10" parent="GroundedEnemies" index="20" unique_id=836898496 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 30.5, 11, -33.336807)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy8" parent="GroundedEnemies" index="21" unique_id=1015624071 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 34.5, 1.5, -27.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy9" parent="GroundedEnemies" index="22" unique_id=827865590 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 46.5, 0, -27.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy5" parent="GroundedEnemies" index="23" unique_id=1267116862 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4, 0, -18.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")
[node name="Enemy6" parent="GroundedEnemies" index="24" unique_id=1147823180 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 16.5, 7, -17.33681)
Target = NodePath("../../Player")
RHealth = SubResource("Resource_xy0m1")
RMovement = SubResource("Resource_nwk5u")

View File

@@ -34,4 +34,5 @@ func add_levels_to_container() -> void:
func _on_level_buttons_container_item_activated(index: int) -> void:
var level_to_load = scene_lister.files.get(index)
level_selected.emit()
SceneLoader.load_scene(level_to_load)

View File

@@ -43,7 +43,7 @@ item_0/text = "1 - ExampleLevel"
[node name="SceneLister" type="Node" parent="." unique_id=149935027]
script = ExtResource("3_stdqw")
files = Array[String](["res://maps/gyms/metrics.tscn", "res://maps/zoos/grounded_flying_ennemies.tscn"])
files = Array[String](["res://maps/gyms/metrics.tscn", "res://maps/levels/tuto_enemies.tscn", "res://maps/levels/tuto_movement.tscn", "res://maps/levels/tuto_sword_parry.tscn", "res://maps/zoos/grounded_flying_ennemies.tscn"])
directory = "res://maps"
[connection signal="item_activated" from="Control/LevelButtonsContainer" to="." method="_on_level_buttons_container_item_activated"]

View File

@@ -354,7 +354,7 @@ graph_offset = Vector2(-180.277, 49)
[node name="MainMenu" unique_id=766584506 instance=ExtResource("1_my8ii")]
script = ExtResource("2_nyjay")
level_select_packed_scene = ExtResource("3_8i6b8")
game_scene_path = "uid://bx3cd2hoaok3k"
game_scene_path = "uid://bd0d7gvinx35c"
menu_context = ExtResource("3_ytpwg")
back_action = ExtResource("4_8i6b8")
@@ -397,6 +397,7 @@ text = "Start"
[node name="ContinueGameButton" type="Button" parent="MenuContainer/MenuButtonsMargin/MenuButtonsContainer/MenuButtonsBoxContainer" index="1" unique_id=861746608]
unique_name_in_owner = true
visible = false
layout_mode = 2
text = "Continue"

View File

@@ -7,9 +7,13 @@ extends OverlaidMenu
@export var level_selection_menu: PackedScene = preload("uid://fybssggvts5q")
@onready var player_invicible_toggle: CheckButton = %PlayerInvicibleToggle
@onready var player_health_spin_box: SpinBox = %PlayerHealthSpinBox
@onready var player_damage_spin_box: SpinBox = %PlayerDamageSpinBox
func _ready() -> void:
player_invicible_toggle.button_pressed = player.IsInvincibleOverride
player_health_spin_box.value = player.RHealth.StartingHealth
player_damage_spin_box.value = player.RDamage.DamageDealt
func _on_kill_player_button_pressed() -> void:
@@ -18,13 +22,24 @@ func _on_kill_player_button_pressed() -> void:
func _on_player_invicible_toggled(toggled_on: bool) -> void:
player.IsInvincibleOverride = toggled_on
print(player.IsInvincible)
func _on_restart_current_level_pressed() -> void:
SceneLoader.reload_current_scene()
close()
func _on_select_level_pressed() -> void:
var menu: LevelSelectMenu = level_selection_menu.instantiate()
menu.level_selected.connect(_on_level_selected)
add_child(menu)
func _on_level_selected() -> void:
close()
func _on_player_health_changed(value: float) -> void:
player.SetPlayerHealthOverride(value)
func _on_player_damage_changed(value: float) -> void:
player.SetPlayerDamageOverride(value)

View File

@@ -13,6 +13,7 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_licsr")
pauses_game = true
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=1581374847]
layout_mode = 1
@@ -81,6 +82,48 @@ script = ExtResource("2_6ax4q")
layout_mode = 2
text = "Kill in 1s"
[node name="PlayerStatsContainer" type="VBoxContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection" unique_id=201095522]
layout_mode = 2
size_flags_horizontal = 4
theme_override_constants/separation = 8
[node name="PlayerHealth" type="HBoxContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer" unique_id=823599662]
layout_mode = 2
size_flags_horizontal = 4
theme_override_constants/separation = 8
[node name="Label" type="Label" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer/PlayerHealth" unique_id=159028563]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Player base health"
[node name="PlayerHealthSpinBox" type="SpinBox" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer/PlayerHealth" unique_id=211258886]
unique_name_in_owner = true
layout_mode = 2
min_value = 1.0
max_value = 1000.0
value = 1.0
rounded = true
allow_greater = true
[node name="PlayerDamage" type="HBoxContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer" unique_id=560862269]
layout_mode = 2
size_flags_horizontal = 4
[node name="Label" type="Label" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer/PlayerDamage" unique_id=16098677]
custom_minimum_size = Vector2(200, 0)
layout_mode = 2
text = "Player damage"
[node name="PlayerDamageSpinBox" type="SpinBox" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer/PlayerDamage" unique_id=223936754]
unique_name_in_owner = true
layout_mode = 2
min_value = 1.0
max_value = 1000.0
value = 1.0
rounded = true
allow_greater = true
[node name="LevelSelectionMargin" type="MarginContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer" unique_id=517648431]
layout_mode = 2
theme_override_constants/margin_top = 16
@@ -114,5 +157,7 @@ text = "Select level
[connection signal="toggled" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerUtilsContainer/PlayerInvicibleToggle" to="." method="_on_player_invicible_toggled"]
[connection signal="pressed" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerUtilsContainer/KillPlayerButton" to="." method="_on_kill_player_button_pressed"]
[connection signal="value_changed" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer/PlayerHealth/PlayerHealthSpinBox" to="." method="_on_player_health_changed"]
[connection signal="value_changed" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer/PlayerDamage/PlayerDamageSpinBox" to="." method="_on_player_damage_changed"]
[connection signal="pressed" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/LevelSelectionMargin/LevelSelectionSection/LevelSelectionContainer/RestartCurrentButton" to="." method="_on_restart_current_level_pressed"]
[connection signal="pressed" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/LevelSelectionMargin/LevelSelectionSection/LevelSelectionContainer/SelectLevel" to="." method="_on_select_level_pressed"]

View File

@@ -4,5 +4,5 @@
[resource]
script = ExtResource("1_h6law")
DamageType = 3
DamageDealt = 1.0
metadata/_custom_type_script = "uid://jitubgv6judn"

View File

@@ -4,5 +4,5 @@
[resource]
script = ExtResource("1_jht15")
StartingHealth = 10.0
StartingHealth = 5.0
metadata/_custom_type_script = "uid://baiapod3csndf"

View File

@@ -4,5 +4,5 @@
[resource]
script = ExtResource("1_h6jgd")
StartingHealth = 10.0
StartingHealth = 20.0
metadata/_custom_type_script = "uid://baiapod3csndf"

View File

@@ -5,7 +5,7 @@
[sub_resource type="Resource" id="Resource_ffdh3"]
script = ExtResource("2_hys74")
DamageDealt = 5.0
DamageDealt = 10.0
DamageType = 3
metadata/_custom_type_script = "uid://jitubgv6judn"

View File

@@ -18,7 +18,7 @@ emission_enabled = true
emission = Color(0, 0.68968636, 0.7473501, 1)
[node name="FixedDashthroughTarget" type="AnimatableBody3D" unique_id=1291663508]
collision_layer = 288
collision_layer = 32
collision_mask = 0
script = ExtResource("1_r0j7a")

View File

@@ -50,11 +50,12 @@
[ext_resource type="Texture2D" uid="uid://bnwj7ltdfximr" path="res://icon.svg" id="30_h23go"]
[ext_resource type="Texture2D" uid="uid://chvt6g0xn5c2m" path="res://scenes/player_controller/components/dash/light-ring.jpg" id="32_lgpc8"]
[ext_resource type="Script" uid="uid://b4dwolbvt8our" path="res://addons/godot_state_charts/history_state.gd" id="41_ruloh"]
[ext_resource type="Texture2D" uid="uid://c40orhfdgsim" path="res://assets/ui/IconGodotNode/white/icon_circle.png" id="45_u8rdp"]
[ext_resource type="PackedScene" uid="uid://cyw8p0p6a78tl" path="res://scenes/ui/healthbar/healthbar.tscn" id="47_76kmc"]
[sub_resource type="Resource" id="Resource_cb2lu"]
script = ExtResource("2_x835q")
DamageDealt = 30.0
DamageDealt = 10.0
metadata/_custom_type_script = "uid://jitubgv6judn"
[sub_resource type="Resource" id="Resource_abfq8"]
@@ -105,9 +106,6 @@ radius = 1.5
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_2q0ik"]
blend_mode = 1
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_ue7xq"]
load_path = "res://.godot/imported/fireball.svg-da8480a7a8e47ac511e0971f6fa164bd.ctex"
[node name="Player" type="CharacterBody3D" unique_id=709076448]
collision_mask = 272
script = ExtResource("1_poq2x")
@@ -507,7 +505,7 @@ offset_right = 20.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("CompressedTexture2D_ue7xq")
texture = ExtResource("45_u8rdp")
expand_mode = 1
[node name="Healthbar" parent="UI" unique_id=1462180337 instance=ExtResource("47_76kmc")]
@@ -790,6 +788,12 @@ to = NodePath("../../Mantling")
event = &"mantle"
delay_in_seconds = "0.0"
[node name="OnWallRun" type="Node" parent="StateChart/Root/Movement/Jump" unique_id=1685494079]
script = ExtResource("28_n7qhm")
to = NodePath("../../OnWall/Running")
event = &"wall_run"
delay_in_seconds = "0.0"
[node name="SimpleJump" type="Node" parent="StateChart/Root/Movement/Jump" unique_id=591943461]
script = ExtResource("27_34snm")
@@ -1089,6 +1093,12 @@ delay_in_seconds = "0.0"
[node name="Hugging" type="Node" parent="StateChart/Root/Movement/OnWall" unique_id=162057636]
script = ExtResource("27_34snm")
[node name="OnWallRun" type="Node" parent="StateChart/Root/Movement/OnWall/Hugging" unique_id=979474050]
script = ExtResource("28_n7qhm")
to = NodePath("../../Running")
event = &"wall_run"
delay_in_seconds = "0.0"
[node name="OnDash" type="Node" parent="StateChart/Root/Movement/OnWall/Hugging" unique_id=43147957]
script = ExtResource("28_n7qhm")
to = NodePath("../../../Dashing/Dash")

View File

@@ -126,6 +126,12 @@ public partial class HeadSystem : Node3D
_slidingNoise.SetFrequency(SlidingJitterFrequency);
}
public void SetWeaponsVisible(bool swordVisible, bool parryVisible)
{
_rightHandedWeapon.Visible = swordVisible;
_leftHandedWeapon.Visible = parryVisible;
}
public void OnMantle()
{
_animationTree.Set("parameters/OnMantle/request", (int) AnimationNodeOneShot.OneShotRequest.Fire);

View File

@@ -43,12 +43,12 @@ animation = &"jump_start"
animation = &"mantle"
[resource]
graph_offset = Vector2(-363.5551, -25.864124)
graph_offset = Vector2(-123.69464, -78.97101)
nodes/output/position = Vector2(2020, -40)
nodes/AnimationNodeStateMachine/node = ExtResource("1_knaxl")
nodes/AnimationNodeStateMachine/position = Vector2(-560, 180)
nodes/Idle/node = SubResource("AnimationNodeAnimation_knaxl")
nodes/Idle/position = Vector2(-100, -20)
nodes/Idle/position = Vector2(-220, -40)
nodes/OnHit/node = SubResource("AnimationNodeOneShot_1hkum")
nodes/OnHit/position = Vector2(1240, -60)
nodes/hit1/node = SubResource("AnimationNodeAnimation_23rmc")

View File

@@ -76,6 +76,8 @@ public partial class PlayerController : CharacterBody3D,
// Inspector stuff
[Export] public Marker3D TutorialWeaponTarget;
[Export] public bool TutorialDone { get; set; }
[Export] public bool HasSword { get; set; } = true;
[Export] public bool HasParry { get; set; } = true;
// Combat stuff
[ExportCategory("Combat")]
@@ -279,6 +281,7 @@ public partial class PlayerController : CharacterBody3D,
private float _playerHeight;
private float _playerRadius;
private Vector3 _dashDirection = Vector3.Zero;
private Vector3 _postDashThroughPosition = Vector3.Zero;
private Vector3 _preDashVelocity = Vector3.Zero;
private int _empoweredActionsLeft;
public int EmpoweredActionsLeft
@@ -523,8 +526,10 @@ public partial class PlayerController : CharacterBody3D,
EmpoweredActionsLeft = MaxNumberOfEmpoweredActions;
if (!TutorialDone)
PlaceWeaponForTutorial();
// if (!TutorialDone)
// PlaceWeaponForTutorial();
HeadSystem.SetWeaponsVisible(HasSword, HasParry);
///////////////////////////
// Signal setup ///////////
@@ -663,6 +668,21 @@ public partial class PlayerController : CharacterBody3D,
WeaponSystem.CallDeferred(WeaponSystem.MethodName.PlaceWeaponForTutorial, TutorialWeaponTarget.GlobalPosition);
}
///////////////////////////
// Toolbox Utils //
///////////////////////////
public void SetPlayerHealthOverride(float newHealthValue)
{
RHealth.StartingHealth = newHealthValue;
CHealth.CurrentHealth = newHealthValue;
PlayerUi.Initialize(CHealth.CurrentHealth);
}
public void SetPlayerDamageOverride(float newDamageValue)
{
RDamage.DamageDealt = newDamageValue;
}
///////////////////////////
// Grounded management //
///////////////////////////
@@ -826,14 +846,7 @@ public partial class PlayerController : CharacterBody3D,
return;
// Should we start a wall run
var wallNormal = WallHugSystem.WallHugNormal.UnwrapOr(Vector3.Zero);
var isIndeedWall = wallNormal.Y < 0.1;
var hvel = new Vector3(Velocity.X, 0, Velocity.Z);
var hvelProjected = hvel.Slide(_wallHugStartNormal);
var haveEnoughSpeed = hvelProjected.Length() > WallRunSpeedThreshold;
var isCoplanarEnough = Velocity.AngleTo(wallNormal) > Math.PI/4 && Velocity.AngleTo(wallNormal) < 3*Math.PI/4;
var isGoingDownwards = Velocity.AngleTo(Vector3.Down) < Math.PI/4;
if (haveEnoughSpeed && isCoplanarEnough && !isGoingDownwards && isIndeedWall && !_coyoteEnabled.Active)
if (ShouldStartWallRun())
{
SetVerticalVelocity(WallRunUpwardVelocity);
_playerState.SendEvent("wall_run");
@@ -841,12 +854,26 @@ public partial class PlayerController : CharacterBody3D,
}
// If all else fail and we go down, we hug
var wallNormal = WallHugSystem.WallHugNormal.UnwrapOr(Vector3.Zero);
if (Velocity.Y < 0 && IsInputTowardsWall(wallNormal))
{
_playerState.SendEvent("wall_hug");
}
}
public bool ShouldStartWallRun()
{
var wallNormal = WallHugSystem.WallHugNormal.UnwrapOr(Vector3.Zero);
var isIndeedWall = wallNormal.Y < 0.1;
var hvel = new Vector3(Velocity.X, 0, Velocity.Z);
var hvelProjected = hvel.Slide(_wallHugStartNormal);
var haveEnoughSpeed = hvelProjected.Length() > WallRunSpeedThreshold;
var isCoplanarEnough = Velocity.AngleTo(wallNormal) > Math.PI/4 && Velocity.AngleTo(wallNormal) < 3*Math.PI/4;
var isGoingDownwards = Velocity.AngleTo(Vector3.Down) < Math.PI/4;
var shouldStart = haveEnoughSpeed && isCoplanarEnough && !isGoingDownwards && isIndeedWall;
return shouldStart;
}
public float ComputeVerticalSpeedGravity(float delta)
{
return Velocity.Y - CalculateGravityForce() * delta;
@@ -1080,7 +1107,8 @@ public partial class PlayerController : CharacterBody3D,
{
if (MantleSystem.IsMantlePossible && IsPlayerInputtingForward())
{
_bufferedAction = BufferedActions.MantleDash;
// _bufferedAction = BufferedActions.MantleDash;
_canDash = true; // Restore dash ability
_playerState.SendEvent("mantle");
}
}
@@ -1135,6 +1163,12 @@ public partial class PlayerController : CharacterBody3D,
_canDashAirborne = true;
WallHug(delta);
if (ShouldStartWallRun())
{
SetVerticalVelocity(WallRunUpwardVelocity);
_playerState.SendEvent("wall_run");
return;
}
if (isOnFloorCustom())
_playerState.SendEvent("grounded");
if (!WallHugSystem.IsWallHugging() || !IsInputTowardsWall(_wallHugStartNormal))
@@ -1268,6 +1302,13 @@ public partial class PlayerController : CharacterBody3D,
{
if (IsTryingToMantle()) _playerState.SendEvent("mantle");
// if (ShouldStartWallRun() && Velocity.Y < WallRunUpwardVelocity)
// {
// SetVerticalVelocity(WallRunUpwardVelocity);
// _playerState.SendEvent("wall_run");
// return;
// }
// Update horizontal velocity
var horizontalVelocity = ComputeHVelocityAir(delta);
Velocity = new Vector3(horizontalVelocity.X, Velocity.Y, horizontalVelocity.Z);
@@ -1667,10 +1708,12 @@ public partial class PlayerController : CharacterBody3D,
///////////////////////////
public void OnInputAimPressed()
{
if (!HasSword) return;
_playerState.SendEvent("aim_pressed");
}
public void OnInputAimDown()
{
if (!HasSword) return;
_playerState.SendEvent("aim_down");
}
public void OnInputAimReleased()
@@ -1722,6 +1765,8 @@ public partial class PlayerController : CharacterBody3D,
///////////////////////////
public void OnInputParryPressed()
{
if (!HasParry) return;
var attackToDo = _isEnemyInDashAttackRange ? "dash_parry" : "standard_parry";
_playerState.SendEvent(attackToDo);
}
@@ -1737,20 +1782,32 @@ public partial class PlayerController : CharacterBody3D,
// feet of the capsule
var correction = DashSystem.CollisionNormal == Vector3.Down ? _playerHeight : DashSystem.DashCastRadius;
var correctedLocation = DashSystem.PlannedLocation + Vector3.Down * correction;
var travel = correctedLocation - GlobalPosition;
_dashDirection = travel.Normalized();
var shouldRebound = false;
if (DashSystem.CanDashThroughTarget && DashSystem.CollidedObject is ITargetable targetable)
correctedLocation = ComputePositionAfterTargetedDash(targetable.GetTargetGlobalPosition(), DashSystem.CollisionPoint);
{
var plannedDashLocation = targetable.GetTargetGlobalPosition() + Vector3.Down*_playerHeight/2;
travel = plannedDashLocation - GlobalPosition;
_dashDirection = travel.Normalized();
var postDashLocation = plannedDashLocation + _dashDirection;
var wallBehindQuery = PhysicsRayQueryParameters3D.Create(GlobalPosition + Vector3.Up*HeadSystem.Position.Y, postDashLocation, GroundDetector.CollisionMask);
var wallBehindResult = _spaceState.IntersectRay(wallBehindQuery);
shouldRebound = wallBehindResult.Count > 0;
correctedLocation = shouldRebound ? plannedDashLocation : postDashLocation;
}
// Start invincibility timer for the duration of the dash and a bit more afterwards
OnHitInvincibility();
_preDashVelocity = Velocity;
_dashDirection = (correctedLocation - GlobalPosition).Normalized();
SetupDashDamageDetector(correctedLocation);
var dashTween = CreatePositionTween(correctedLocation, AimedDashTime);
// dashTween.TweenMethod(Callable.From<float>(AimedDashTweenOngoing), 0.0f, 1.0f, AimedDashTime);
dashTween.Finished += AimedDashTweenEnded;
if (shouldRebound) dashTween.Finished += ManualKnockback;
_customMantle = DashSystem.ShouldMantle;
_customMantleCurve = DashSystem.MantleSystem.MantleCurve;
@@ -2049,28 +2106,35 @@ public partial class PlayerController : CharacterBody3D,
}
private PhysicsDirectSpaceState3D _spaceState;
public void StartDashAction(bool isParry)
{
var streamName = isParry ? "parry" : "attacks";
_audioStream!.SwitchToClipByName(streamName);
IsInvincible = true;
var plannedDashLocation = _targetLocation + Vector3.Down*HeadSystem.Position.Y;
var query = PhysicsRayQueryParameters3D.Create(HeadSystem.GlobalPosition, plannedDashLocation, DashSystem.DashCast3D.CollisionMask);
var result = _spaceState.IntersectRay(query);
if (result.Count > 0)
{
plannedDashLocation = (Vector3) result["position"];
}
var plannedDashLocation = _targetLocation + Vector3.Down*_playerHeight/2;
// var enemySurfaceQuery = PhysicsRayQueryParameters3D.Create(HeadSystem.GlobalPosition, plannedDashLocation, DashSystem.DashCast3D.CollisionMask);
// var enemySurfaceResult = _spaceState.IntersectRay(enemySurfaceQuery);
// if (enemySurfaceResult.Count > 0)
// {
// plannedDashLocation = (Vector3) enemySurfaceResult["position"];
// }
var travel = plannedDashLocation - (GlobalPosition + Vector3.Up*_playerHeight/2);
_preDashVelocity = Velocity;
var travel = plannedDashLocation - GlobalPosition;
_dashDirection = travel.Normalized();
var postDashLocation = plannedDashLocation + _dashDirection;
var wallBehindQuery = PhysicsRayQueryParameters3D.Create(GlobalPosition + Vector3.Up*HeadSystem.Position.Y, postDashLocation, GroundDetector.CollisionMask);
var wallBehindResult = _spaceState.IntersectRay(wallBehindQuery);
var shouldRebound = wallBehindResult.Count > 0;
if (!shouldRebound) _postDashThroughPosition = postDashLocation;
var dashTween = CreatePositionTween(plannedDashLocation, AimedDashTime);
if (isParry) dashTween.Finished += OnDashParryEnded;
if (isParry || shouldRebound) dashTween.Finished += OnDashParryEnded;
else dashTween.Finished += OnDashAttackEnded;
}
public void OnDashAttackStarted()
{
StartDashAction(isParry: false);
@@ -2098,13 +2162,18 @@ public partial class PlayerController : CharacterBody3D,
public void OnDashAttackEnded()
{
StopDashAction();
GlobalPosition = ComputePositionAfterTargetedDash(_targetLocation, _targetHitLocation);
GlobalPosition = _postDashThroughPosition;
var postDashVelocity = _preDashVelocity.Length() > PostDashSpeed ? _preDashVelocity.Length() : PostDashSpeed;
Velocity = _dashDirection * postDashVelocity;
}
public void OnDashParryEnded()
{
StopDashAction();
ManualKnockback();
}
public void ManualKnockback()
{
Velocity = -_dashDirection*RKnockback.Modifier;
}
@@ -2115,6 +2184,8 @@ public partial class PlayerController : CharacterBody3D,
public void OnInputHitPressed()
{
if (!HasSword) return;
if (_onWallHanging.Active) return;
if (_aiming.Active && WeaponSystem.InHandState.Active)