Compare commits

...

5 Commits

Author SHA1 Message Date
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
14 changed files with 1727 additions and 59 deletions

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,102 @@
[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="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,52 @@
[ext_resource type="Material" uid="uid://31aulub2nqov" path="res://assets/materials/greybox/m_greybox.tres" id="2_lpm4c"] [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://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="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"]
[node name="Main" unique_id=955321579 instance=ExtResource("1_jyq54")] [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, -16, 22.91025, -51.458496)
HasSword = false
HasParry = false
[node name="Greybox" type="CSGCombiner3D" parent="." index="7" unique_id=2082385716] [node name="Greybox" type="CSGCombiner3D" parent="." index="7" unique_id=2082385716]
use_collision = true use_collision = true
collision_layer = 256 collision_layer = 256
collision_mask = 65553 collision_mask = 65553
[node name="CSGBox3D" type="CSGBox3D" parent="Greybox" index="0" unique_id=681973284] [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 use_collision = true
size = Vector3(100, 1, 190.741) size = Vector3(21, 1, 44.5)
material = ExtResource("2_lpm4c") material = ExtResource("2_lpm4c")
[node name="CSGBox3D2" type="CSGBox3D" parent="Greybox" index="1" unique_id=663820033] [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 use_collision = true
size = Vector3(10, 6.5, 2) size = Vector3(10, 9, 2)
material = ExtResource("2_lpm4c") material = ExtResource("2_lpm4c")
[node name="CSGBox3D5" type="CSGBox3D" parent="Greybox" index="2" unique_id=1332226948] [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 use_collision = true
size = Vector3(16, 6.5, 2) size = Vector3(16, 8.5, 2)
material = ExtResource("2_lpm4c") material = ExtResource("2_lpm4c")
[node name="CSGBox3D6" type="CSGBox3D" parent="Greybox" index="3" unique_id=868182610] [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 use_collision = true
size = Vector3(16, 6.5, 2) size = Vector3(16, 8.5, 2)
material = ExtResource("2_lpm4c") material = ExtResource("2_lpm4c")
[node name="CSGBox3D9" type="CSGBox3D" parent="Greybox" index="4" unique_id=1175427795] [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 use_collision = true
size = Vector3(38, 15.5, 2) size = Vector3(38, 16.5, 2)
material = ExtResource("2_lpm4c") material = ExtResource("2_lpm4c")
[node name="CSGBox3D10" type="CSGBox3D" parent="Greybox" index="5" unique_id=427936811] [node name="CSGBox3D10" type="CSGBox3D" parent="Greybox" index="5" unique_id=427936811]
@@ -50,27 +59,27 @@ size = Vector3(21.5, 17, 2)
material = ExtResource("2_lpm4c") material = ExtResource("2_lpm4c")
[node name="CSGBox3D3" type="CSGBox3D" parent="Greybox" index="6" unique_id=1254886602] [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 use_collision = true
size = Vector3(18, 6.5, 2) size = Vector3(18, 9, 2)
material = ExtResource("2_lpm4c") material = ExtResource("2_lpm4c")
[node name="CSGBox3D7" type="CSGBox3D" parent="Greybox" index="7" unique_id=133005848] [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 use_collision = true
size = Vector3(31.5, 6.5, 2) size = Vector3(31.5, 16, 2)
material = ExtResource("2_lpm4c") material = ExtResource("2_lpm4c")
[node name="CSGBox3D8" type="CSGBox3D" parent="Greybox" index="8" unique_id=1267333699] [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 use_collision = true
size = Vector3(18, 6.5, 2) size = Vector3(18, 9, 2)
material = ExtResource("2_lpm4c") material = ExtResource("2_lpm4c")
[node name="CSGBox3D4" type="CSGBox3D" parent="Greybox" index="9" unique_id=1453945590] [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 use_collision = true
size = Vector3(10, 6.5, 2) size = Vector3(10, 9, 2)
material = ExtResource("2_lpm4c") material = ExtResource("2_lpm4c")
[node name="Step" type="CSGCombiner3D" parent="Greybox" index="10" unique_id=1645604967] [node name="Step" type="CSGCombiner3D" parent="Greybox" index="10" unique_id=1645604967]
@@ -124,6 +133,18 @@ use_collision = true
size = Vector3(7.5, 3.5, 3.5) size = Vector3(7.5, 3.5, 3.5)
material = ExtResource("2_lpm4c") 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] [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) transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5, 6, -38.5)
@@ -145,80 +166,689 @@ use_collision = true
size = Vector3(7.5, 8, 3.5) size = Vector3(7.5, 8, 3.5)
material = ExtResource("2_lpm4c") material = ExtResource("2_lpm4c")
[node name="stairs" parent="Greybox" index="14" unique_id=1895117406 instance=ExtResource("5_u8sr4")] [node name="CSGBox3D17" type="CSGBox3D" parent="Greybox" index="14" unique_id=1079419289]
transform = Transform3D(-0.99999964, 0, -4.371139e-07, 0, 1, 0, 8.742275e-08, 0, -5, -8.5, 0, -38.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.25, 0.75, -35.25)
[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)
use_collision = true use_collision = true
size = Vector3(7.5, 2.5, 11.5) size = Vector3(6.5, 2.5, 11.5)
material = ExtResource("2_lpm4c") 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.75, 6.5, -35.25)
use_collision = true use_collision = true
size = Vector3(10.5, 1, 13.5) size = Vector3(10.5, 1, 13.5)
material = ExtResource("2_lpm4c") 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.5, 10.25, -37.75)
use_collision = true use_collision = true
size = Vector3(2, 13.5, 7.5) size = Vector3(2, 13.5, 7.5)
material = ExtResource("2_lpm4c") 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.5, 8, -31.5)
use_collision = true use_collision = true
size = Vector3(2, 16, 5) size = Vector3(2, 16, 5)
material = ExtResource("5_r26ni") 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.5, 8, -31.5)
use_collision = true use_collision = true
size = Vector3(2, 16, 5) size = Vector3(2, 16, 5)
material = ExtResource("5_r26ni") 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 8, -27)
use_collision = true use_collision = true
size = Vector3(7, 16, 4) size = Vector3(7, 16, 4)
material = ExtResource("2_lpm4c") material = ExtResource("2_lpm4c")
[node name="CSGBox3D20" type="CSGBox3D" parent="Greybox" index="22" unique_id=1913472587] [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, -26.5) 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 use_collision = true
size = Vector3(5, 1, 3) size = Vector3(5, 1, 3)
material = ExtResource("2_lpm4c") 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 16.5, -29.5)
use_collision = true use_collision = true
size = Vector3(1, 1, 9) size = Vector3(1, 1, 9)
material = ExtResource("2_lpm4c") 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 16.5, -29.5)
use_collision = true use_collision = true
size = Vector3(1, 1, 9) size = Vector3(1, 1, 9)
material = ExtResource("2_lpm4c") 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 16.5, -28.5)
use_collision = true use_collision = true
size = Vector3(5, 1, 1) size = Vector3(5, 1, 1)
material = ExtResource("3_u8sr4") 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 16.5, -31.5)
use_collision = true use_collision = true
size = Vector3(1, 1, 5) size = Vector3(1, 1, 5)
material = ExtResource("3_u8sr4") 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 16.5, -31.5)
use_collision = true use_collision = true
size = Vector3(1, 1, 5) size = Vector3(1, 1, 5)
material = ExtResource("3_u8sr4") 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

View File

@@ -0,0 +1,273 @@
[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, 3.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="Enemy7" parent="GroundedEnemies" index="18" 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="19" 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="20" 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="21" 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="22" 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="23" 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

@@ -7,9 +7,13 @@ extends OverlaidMenu
@export var level_selection_menu: PackedScene = preload("uid://fybssggvts5q") @export var level_selection_menu: PackedScene = preload("uid://fybssggvts5q")
@onready var player_invicible_toggle: CheckButton = %PlayerInvicibleToggle @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: func _ready() -> void:
player_invicible_toggle.button_pressed = player.IsInvincibleOverride 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: func _on_kill_player_button_pressed() -> void:
@@ -18,7 +22,6 @@ func _on_kill_player_button_pressed() -> void:
func _on_player_invicible_toggled(toggled_on: bool) -> void: func _on_player_invicible_toggled(toggled_on: bool) -> void:
player.IsInvincibleOverride = toggled_on player.IsInvincibleOverride = toggled_on
print(player.IsInvincible)
func _on_restart_current_level_pressed() -> void: func _on_restart_current_level_pressed() -> void:
@@ -28,3 +31,11 @@ func _on_restart_current_level_pressed() -> void:
func _on_select_level_pressed() -> void: func _on_select_level_pressed() -> void:
var menu: LevelSelectMenu = level_selection_menu.instantiate() var menu: LevelSelectMenu = level_selection_menu.instantiate()
add_child(menu) add_child(menu)
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_horizontal = 2
grow_vertical = 2 grow_vertical = 2
script = ExtResource("1_licsr") script = ExtResource("1_licsr")
pauses_game = true
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=1581374847] [node name="MarginContainer" type="MarginContainer" parent="." unique_id=1581374847]
layout_mode = 1 layout_mode = 1
@@ -81,6 +82,48 @@ script = ExtResource("2_6ax4q")
layout_mode = 2 layout_mode = 2
text = "Kill in 1s" 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] [node name="LevelSelectionMargin" type="MarginContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer" unique_id=517648431]
layout_mode = 2 layout_mode = 2
theme_override_constants/margin_top = 16 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="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="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/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"] [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] [resource]
script = ExtResource("1_h6law") script = ExtResource("1_h6law")
DamageType = 3 DamageDealt = 1.0
metadata/_custom_type_script = "uid://jitubgv6judn" metadata/_custom_type_script = "uid://jitubgv6judn"

View File

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

View File

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

View File

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

View File

@@ -54,7 +54,7 @@
[sub_resource type="Resource" id="Resource_cb2lu"] [sub_resource type="Resource" id="Resource_cb2lu"]
script = ExtResource("2_x835q") script = ExtResource("2_x835q")
DamageDealt = 30.0 DamageDealt = 10.0
metadata/_custom_type_script = "uid://jitubgv6judn" metadata/_custom_type_script = "uid://jitubgv6judn"
[sub_resource type="Resource" id="Resource_abfq8"] [sub_resource type="Resource" id="Resource_abfq8"]
@@ -790,6 +790,12 @@ to = NodePath("../../Mantling")
event = &"mantle" event = &"mantle"
delay_in_seconds = "0.0" 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] [node name="SimpleJump" type="Node" parent="StateChart/Root/Movement/Jump" unique_id=591943461]
script = ExtResource("27_34snm") script = ExtResource("27_34snm")
@@ -1089,6 +1095,12 @@ delay_in_seconds = "0.0"
[node name="Hugging" type="Node" parent="StateChart/Root/Movement/OnWall" unique_id=162057636] [node name="Hugging" type="Node" parent="StateChart/Root/Movement/OnWall" unique_id=162057636]
script = ExtResource("27_34snm") 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] [node name="OnDash" type="Node" parent="StateChart/Root/Movement/OnWall/Hugging" unique_id=43147957]
script = ExtResource("28_n7qhm") script = ExtResource("28_n7qhm")
to = NodePath("../../../Dashing/Dash") to = NodePath("../../../Dashing/Dash")

View File

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

View File

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

View File

@@ -76,6 +76,8 @@ public partial class PlayerController : CharacterBody3D,
// Inspector stuff // Inspector stuff
[Export] public Marker3D TutorialWeaponTarget; [Export] public Marker3D TutorialWeaponTarget;
[Export] public bool TutorialDone { get; set; } [Export] public bool TutorialDone { get; set; }
[Export] public bool HasSword { get; set; } = true;
[Export] public bool HasParry { get; set; } = true;
// Combat stuff // Combat stuff
[ExportCategory("Combat")] [ExportCategory("Combat")]
@@ -523,8 +525,10 @@ public partial class PlayerController : CharacterBody3D,
EmpoweredActionsLeft = MaxNumberOfEmpoweredActions; EmpoweredActionsLeft = MaxNumberOfEmpoweredActions;
if (!TutorialDone) // if (!TutorialDone)
PlaceWeaponForTutorial(); // PlaceWeaponForTutorial();
HeadSystem.SetWeaponsVisible(HasSword, HasParry);
/////////////////////////// ///////////////////////////
// Signal setup /////////// // Signal setup ///////////
@@ -663,6 +667,21 @@ public partial class PlayerController : CharacterBody3D,
WeaponSystem.CallDeferred(WeaponSystem.MethodName.PlaceWeaponForTutorial, TutorialWeaponTarget.GlobalPosition); 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 // // Grounded management //
/////////////////////////// ///////////////////////////
@@ -826,14 +845,7 @@ public partial class PlayerController : CharacterBody3D,
return; return;
// Should we start a wall run // Should we start a wall run
var wallNormal = WallHugSystem.WallHugNormal.UnwrapOr(Vector3.Zero); if (ShouldStartWallRun())
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)
{ {
SetVerticalVelocity(WallRunUpwardVelocity); SetVerticalVelocity(WallRunUpwardVelocity);
_playerState.SendEvent("wall_run"); _playerState.SendEvent("wall_run");
@@ -841,12 +853,25 @@ public partial class PlayerController : CharacterBody3D,
} }
// If all else fail and we go down, we hug // If all else fail and we go down, we hug
var wallNormal = WallHugSystem.WallHugNormal.UnwrapOr(Vector3.Zero);
if (Velocity.Y < 0 && IsInputTowardsWall(wallNormal)) if (Velocity.Y < 0 && IsInputTowardsWall(wallNormal))
{ {
_playerState.SendEvent("wall_hug"); _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;
return haveEnoughSpeed && isCoplanarEnough && !isGoingDownwards && isIndeedWall && !_coyoteEnabled.Active;
}
public float ComputeVerticalSpeedGravity(float delta) public float ComputeVerticalSpeedGravity(float delta)
{ {
return Velocity.Y - CalculateGravityForce() * delta; return Velocity.Y - CalculateGravityForce() * delta;
@@ -1080,7 +1105,8 @@ public partial class PlayerController : CharacterBody3D,
{ {
if (MantleSystem.IsMantlePossible && IsPlayerInputtingForward()) if (MantleSystem.IsMantlePossible && IsPlayerInputtingForward())
{ {
_bufferedAction = BufferedActions.MantleDash; // _bufferedAction = BufferedActions.MantleDash;
_canDash = true; // Restore dash ability
_playerState.SendEvent("mantle"); _playerState.SendEvent("mantle");
} }
} }
@@ -1135,6 +1161,12 @@ public partial class PlayerController : CharacterBody3D,
_canDashAirborne = true; _canDashAirborne = true;
WallHug(delta); WallHug(delta);
if (ShouldStartWallRun())
{
SetVerticalVelocity(WallRunUpwardVelocity);
_playerState.SendEvent("wall_run");
return;
}
if (isOnFloorCustom()) if (isOnFloorCustom())
_playerState.SendEvent("grounded"); _playerState.SendEvent("grounded");
if (!WallHugSystem.IsWallHugging() || !IsInputTowardsWall(_wallHugStartNormal)) if (!WallHugSystem.IsWallHugging() || !IsInputTowardsWall(_wallHugStartNormal))
@@ -1268,6 +1300,13 @@ public partial class PlayerController : CharacterBody3D,
{ {
if (IsTryingToMantle()) _playerState.SendEvent("mantle"); if (IsTryingToMantle()) _playerState.SendEvent("mantle");
if (ShouldStartWallRun() && Velocity.Y < WallRunUpwardVelocity)
{
SetVerticalVelocity(WallRunUpwardVelocity);
_playerState.SendEvent("wall_run");
return;
}
// Update horizontal velocity // Update horizontal velocity
var horizontalVelocity = ComputeHVelocityAir(delta); var horizontalVelocity = ComputeHVelocityAir(delta);
Velocity = new Vector3(horizontalVelocity.X, Velocity.Y, horizontalVelocity.Z); Velocity = new Vector3(horizontalVelocity.X, Velocity.Y, horizontalVelocity.Z);
@@ -1667,10 +1706,12 @@ public partial class PlayerController : CharacterBody3D,
/////////////////////////// ///////////////////////////
public void OnInputAimPressed() public void OnInputAimPressed()
{ {
if (!HasSword) return;
_playerState.SendEvent("aim_pressed"); _playerState.SendEvent("aim_pressed");
} }
public void OnInputAimDown() public void OnInputAimDown()
{ {
if (!HasSword) return;
_playerState.SendEvent("aim_down"); _playerState.SendEvent("aim_down");
} }
public void OnInputAimReleased() public void OnInputAimReleased()
@@ -1722,6 +1763,8 @@ public partial class PlayerController : CharacterBody3D,
/////////////////////////// ///////////////////////////
public void OnInputParryPressed() public void OnInputParryPressed()
{ {
if (!HasParry) return;
var attackToDo = _isEnemyInDashAttackRange ? "dash_parry" : "standard_parry"; var attackToDo = _isEnemyInDashAttackRange ? "dash_parry" : "standard_parry";
_playerState.SendEvent(attackToDo); _playerState.SendEvent(attackToDo);
} }
@@ -2115,6 +2158,8 @@ public partial class PlayerController : CharacterBody3D,
public void OnInputHitPressed() public void OnInputHitPressed()
{ {
if (!HasSword) return;
if (_onWallHanging.Active) return; if (_onWallHanging.Active) return;
if (_aiming.Active && WeaponSystem.InHandState.Active) if (_aiming.Active && WeaponSystem.InHandState.Active)