diff --git a/maps/levels/_arenas/playtest_1.tscn b/maps/levels/_arenas/playtest_1.tscn index d5c13df5..9f6d700f 100644 --- a/maps/levels/_arenas/playtest_1.tscn +++ b/maps/levels/_arenas/playtest_1.tscn @@ -80,9 +80,9 @@ 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, 14.25, -30) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 49, 12.25, -30) use_collision = true -size = Vector3(1, 5.5, 1) +size = Vector3(1, 9.5, 1) material = ExtResource("1_xmksr") [node name="CSGBox3D151" type="CSGBox3D" parent="." unique_id=1968876706] @@ -145,6 +145,12 @@ 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 @@ -434,9 +440,9 @@ 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, 5.5, -30) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 49, 3.75, -26) use_collision = true -size = Vector3(1, 11, 1) +size = Vector3(1, 7.5, 9) material = ExtResource("1_xmksr") [node name="CSGBox3D176" type="CSGBox3D" parent="." unique_id=653049886] diff --git a/maps/levels/tuto_enemies.tscn b/maps/levels/tuto_enemies.tscn new file mode 100644 index 00000000..7a753ebc --- /dev/null +++ b/maps/levels/tuto_enemies.tscn @@ -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) diff --git a/maps/levels/tuto_sword_parry.tscn b/maps/levels/tuto_sword_parry.tscn new file mode 100644 index 00000000..bec79b3c --- /dev/null +++ b/maps/levels/tuto_sword_parry.tscn @@ -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") diff --git a/menus/scenes/overlaid_menus/toolbox.gd b/menus/scenes/overlaid_menus/toolbox.gd index 9267aabd..1dc3ee12 100644 --- a/menus/scenes/overlaid_menus/toolbox.gd +++ b/menus/scenes/overlaid_menus/toolbox.gd @@ -7,9 +7,13 @@ extends OverlaidMenu @export var level_selection_menu: PackedScene = preload("uid://fybssggvts5q") @onready var player_invicible_toggle: CheckButton = %PlayerInvicibleToggle +@onready var player_health_spin_box: SpinBox = %PlayerHealthSpinBox +@onready var player_damage_spin_box: SpinBox = %PlayerDamageSpinBox func _ready() -> void: player_invicible_toggle.button_pressed = player.IsInvincibleOverride + player_health_spin_box.value = player.RHealth.StartingHealth + player_damage_spin_box.value = player.RDamage.DamageDealt func _on_kill_player_button_pressed() -> void: @@ -18,7 +22,6 @@ func _on_kill_player_button_pressed() -> void: func _on_player_invicible_toggled(toggled_on: bool) -> void: player.IsInvincibleOverride = toggled_on - print(player.IsInvincible) func _on_restart_current_level_pressed() -> void: @@ -28,3 +31,11 @@ func _on_restart_current_level_pressed() -> void: func _on_select_level_pressed() -> void: var menu: LevelSelectMenu = level_selection_menu.instantiate() 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) diff --git a/menus/scenes/overlaid_menus/toolbox.tscn b/menus/scenes/overlaid_menus/toolbox.tscn index f24a0c61..2b85544a 100644 --- a/menus/scenes/overlaid_menus/toolbox.tscn +++ b/menus/scenes/overlaid_menus/toolbox.tscn @@ -13,6 +13,7 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_licsr") +pauses_game = true [node name="MarginContainer" type="MarginContainer" parent="." unique_id=1581374847] layout_mode = 1 @@ -81,6 +82,48 @@ script = ExtResource("2_6ax4q") layout_mode = 2 text = "Kill in 1s" +[node name="PlayerStatsContainer" type="VBoxContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection" unique_id=201095522] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_constants/separation = 8 + +[node name="PlayerHealth" type="HBoxContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer" unique_id=823599662] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_constants/separation = 8 + +[node name="Label" type="Label" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer/PlayerHealth" unique_id=159028563] +custom_minimum_size = Vector2(200, 0) +layout_mode = 2 +text = "Player base health" + +[node name="PlayerHealthSpinBox" type="SpinBox" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer/PlayerHealth" unique_id=211258886] +unique_name_in_owner = true +layout_mode = 2 +min_value = 1.0 +max_value = 1000.0 +value = 1.0 +rounded = true +allow_greater = true + +[node name="PlayerDamage" type="HBoxContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer" unique_id=560862269] +layout_mode = 2 +size_flags_horizontal = 4 + +[node name="Label" type="Label" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer/PlayerDamage" unique_id=16098677] +custom_minimum_size = Vector2(200, 0) +layout_mode = 2 +text = "Player damage" + +[node name="PlayerDamageSpinBox" type="SpinBox" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer/PlayerDamage" unique_id=223936754] +unique_name_in_owner = true +layout_mode = 2 +min_value = 1.0 +max_value = 1000.0 +value = 1.0 +rounded = true +allow_greater = true + [node name="LevelSelectionMargin" type="MarginContainer" parent="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer" unique_id=517648431] layout_mode = 2 theme_override_constants/margin_top = 16 @@ -114,5 +157,7 @@ text = "Select level [connection signal="toggled" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerUtilsContainer/PlayerInvicibleToggle" to="." method="_on_player_invicible_toggled"] [connection signal="pressed" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerUtilsContainer/KillPlayerButton" to="." method="_on_kill_player_button_pressed"] +[connection signal="value_changed" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer/PlayerHealth/PlayerHealthSpinBox" to="." method="_on_player_health_changed"] +[connection signal="value_changed" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/PlayerSectionMargin/PlayerSection/PlayerStatsContainer/PlayerDamage/PlayerDamageSpinBox" to="." method="_on_player_damage_changed"] [connection signal="pressed" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/LevelSelectionMargin/LevelSelectionSection/LevelSelectionContainer/RestartCurrentButton" to="." method="_on_restart_current_level_pressed"] [connection signal="pressed" from="MarginContainer/MenuPanelContainer/MarginContainer/BoxContainer/LevelSelectionMargin/LevelSelectionSection/LevelSelectionContainer/SelectLevel" to="." method="_on_select_level_pressed"] diff --git a/scenes/enemies/flying_enemy/flying_enemy_damage.tres b/scenes/enemies/flying_enemy/flying_enemy_damage.tres index 31894ad3..f56fd77c 100644 --- a/scenes/enemies/flying_enemy/flying_enemy_damage.tres +++ b/scenes/enemies/flying_enemy/flying_enemy_damage.tres @@ -4,5 +4,5 @@ [resource] script = ExtResource("1_h6law") -DamageType = 3 +DamageDealt = 1.0 metadata/_custom_type_script = "uid://jitubgv6judn" diff --git a/scenes/enemies/flying_enemy/flying_enemy_health.tres b/scenes/enemies/flying_enemy/flying_enemy_health.tres index 69350a0c..413188b4 100644 --- a/scenes/enemies/flying_enemy/flying_enemy_health.tres +++ b/scenes/enemies/flying_enemy/flying_enemy_health.tres @@ -4,5 +4,5 @@ [resource] script = ExtResource("1_jht15") -StartingHealth = 10.0 +StartingHealth = 5.0 metadata/_custom_type_script = "uid://baiapod3csndf" diff --git a/scenes/enemies/grounded_enemy/grounded_enemy_health.tres b/scenes/enemies/grounded_enemy/grounded_enemy_health.tres index abf427e0..e2ffbcc7 100644 --- a/scenes/enemies/grounded_enemy/grounded_enemy_health.tres +++ b/scenes/enemies/grounded_enemy/grounded_enemy_health.tres @@ -4,5 +4,5 @@ [resource] script = ExtResource("1_h6jgd") -StartingHealth = 10.0 +StartingHealth = 20.0 metadata/_custom_type_script = "uid://baiapod3csndf" diff --git a/scenes/explosion/explosion.tscn b/scenes/explosion/explosion.tscn index 4970fbc0..0054b837 100644 --- a/scenes/explosion/explosion.tscn +++ b/scenes/explosion/explosion.tscn @@ -5,7 +5,7 @@ [sub_resource type="Resource" id="Resource_ffdh3"] script = ExtResource("2_hys74") -DamageDealt = 5.0 +DamageDealt = 10.0 DamageType = 3 metadata/_custom_type_script = "uid://jitubgv6judn" diff --git a/scenes/player_controller/PlayerController.tscn b/scenes/player_controller/PlayerController.tscn index 2f59f0e6..f908e8aa 100644 --- a/scenes/player_controller/PlayerController.tscn +++ b/scenes/player_controller/PlayerController.tscn @@ -54,7 +54,7 @@ [sub_resource type="Resource" id="Resource_cb2lu"] script = ExtResource("2_x835q") -DamageDealt = 30.0 +DamageDealt = 10.0 metadata/_custom_type_script = "uid://jitubgv6judn" [sub_resource type="Resource" id="Resource_abfq8"] @@ -399,6 +399,7 @@ offset_left = 1524.0 offset_top = 1.0 offset_right = -8.0 offset_bottom = 1.0 +enabled = false initial_node_to_watch = NodePath("../StateChart") [node name="UI" type="Control" parent="." unique_id=856532641] diff --git a/scenes/player_controller/components/head/fp_blend_tree.tres b/scenes/player_controller/components/head/fp_blend_tree.tres index 744be16a..f1413ab6 100644 --- a/scenes/player_controller/components/head/fp_blend_tree.tres +++ b/scenes/player_controller/components/head/fp_blend_tree.tres @@ -43,12 +43,12 @@ animation = &"jump_start" animation = &"mantle" [resource] -graph_offset = Vector2(-363.5551, -25.864124) +graph_offset = Vector2(-123.69464, -78.97101) nodes/output/position = Vector2(2020, -40) nodes/AnimationNodeStateMachine/node = ExtResource("1_knaxl") nodes/AnimationNodeStateMachine/position = Vector2(-560, 180) nodes/Idle/node = SubResource("AnimationNodeAnimation_knaxl") -nodes/Idle/position = Vector2(-100, -20) +nodes/Idle/position = Vector2(-220, -40) nodes/OnHit/node = SubResource("AnimationNodeOneShot_1hkum") nodes/OnHit/position = Vector2(1240, -60) nodes/hit1/node = SubResource("AnimationNodeAnimation_23rmc") diff --git a/scenes/player_controller/components/head/head_system.tscn b/scenes/player_controller/components/head/head_system.tscn index cfd4822e..7acdf3e4 100644 --- a/scenes/player_controller/components/head/head_system.tscn +++ b/scenes/player_controller/components/head/head_system.tscn @@ -160,7 +160,7 @@ tracks/6/keys = { } tracks/7/type = "value" tracks/7/imported = false -tracks/7/enabled = false +tracks/7/enabled = true tracks/7/path = NodePath("../../FPRig/Parry:visible") tracks/7/interp = 1 tracks/7/loop_wrap = true @@ -671,7 +671,6 @@ mesh = ExtResource("2_c5qep") [node name="Parry" type="Node3D" parent="FPRig" unique_id=1218775403] transform = Transform3D(0.43521196, -1.1178209, 0.03266725, -0.65402746, -0.2828554, -0.96552634, 0.9071047, 0.33236945, -0.711823, -0.22145952, -0.19867475, -1.3653086) -visible = false [node name="ParryMesh" type="MeshInstance3D" parent="FPRig/Parry" unique_id=1993291456] mesh = ExtResource("3_1ay6d") diff --git a/scenes/player_controller/scripts/PlayerController.cs b/scenes/player_controller/scripts/PlayerController.cs index 78226e87..ff0eaa5e 100644 --- a/scenes/player_controller/scripts/PlayerController.cs +++ b/scenes/player_controller/scripts/PlayerController.cs @@ -667,6 +667,21 @@ public partial class PlayerController : CharacterBody3D, WeaponSystem.CallDeferred(WeaponSystem.MethodName.PlaceWeaponForTutorial, TutorialWeaponTarget.GlobalPosition); } + + /////////////////////////// + // Toolbox Utils // + /////////////////////////// + public void SetPlayerHealthOverride(float newHealthValue) + { + RHealth.StartingHealth = newHealthValue; + CHealth.CurrentHealth = newHealthValue; + PlayerUi.Initialize(CHealth.CurrentHealth); + } + public void SetPlayerDamageOverride(float newDamageValue) + { + RDamage.DamageDealt = newDamageValue; + } + /////////////////////////// // Grounded management // ///////////////////////////