diff --git a/3D/MapScenes/TestLevel.tscn b/3D/MapScenes/TestLevel.tscn index c361b848..865a3f6f 100644 --- a/3D/MapScenes/TestLevel.tscn +++ b/3D/MapScenes/TestLevel.tscn @@ -103,7 +103,7 @@ [ext_resource type="Resource" uid="uid://bgcgeg187vg1h" path="res://Resources/Items/IcicleRepeater.tres" id="89_awrmj"] [ext_resource type="Resource" uid="uid://cj5aa7btaw6q0" path="res://Resources/Items/Blue_Keycard.tres" id="89_dt4t5"] [ext_resource type="PackedScene" uid="uid://yath5bvxo3cn" path="res://3D/Scenes/Props/Wall_Emitter_3D.tscn" id="93_u76qv"] -[ext_resource type="Resource" uid="uid://qrqsywgiij7i" path="res://Resources/Bullets/simple_enemy_bullet_small_3D.tres" id="94_3vwxl"] +[ext_resource type="Resource" uid="uid://qrqsywgiij7i" path="res://Resources/Bullets/3D/simple_enemy_bullet_small_3D.tres" id="94_3vwxl"] [ext_resource type="Script" uid="uid://b5s5mjuk1rng5" path="res://Scripts/Resources/TimeModifier.cs" id="95_s22g3"] [ext_resource type="Script" uid="uid://bxiprx5nwmpnu" path="res://Scripts/AttackPatterns/ShootingPattern3D.cs" id="96_qyisa"] [ext_resource type="Script" uid="uid://w8hcpu68ssq" path="res://Scripts/Resources/BulletScripts/BulletScript3D.cs" id="97_8tkgc"] diff --git a/3D/Scenes/Props/Box_3D_Blue.tscn b/3D/Scenes/Props/Box_3D_Blue.tscn index 408a4262..ca48f026 100644 --- a/3D/Scenes/Props/Box_3D_Blue.tscn +++ b/3D/Scenes/Props/Box_3D_Blue.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_hsg1w"] [ext_resource type="PackedScene" uid="uid://hxn4awevjyui" path="res://3D/BlockbenchModels/Box/Box_Blue.gltf" id="1_ropdl"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="2_cn5xh"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_cn5xh"] [sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"] size = Vector3(0.763428, 0.469452, 0.77832) diff --git a/3D/Scenes/Props/Box_3D_Green.tscn b/3D/Scenes/Props/Box_3D_Green.tscn index 2221ab86..08df3ce8 100644 --- a/3D/Scenes/Props/Box_3D_Green.tscn +++ b/3D/Scenes/Props/Box_3D_Green.tscn @@ -2,7 +2,7 @@ [ext_resource type="PackedScene" uid="uid://c5k6rsawax3gf" path="res://3D/BlockbenchModels/Box/Box_Green.gltf" id="1_03sp0"] [ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_e6kl3"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="2_bguu7"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_bguu7"] [sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"] size = Vector3(0.763428, 0.469452, 0.77832) diff --git a/3D/Scenes/Props/Box_3D_Red.tscn b/3D/Scenes/Props/Box_3D_Red.tscn index f6f5faff..b73d1473 100644 --- a/3D/Scenes/Props/Box_3D_Red.tscn +++ b/3D/Scenes/Props/Box_3D_Red.tscn @@ -2,7 +2,7 @@ [ext_resource type="PackedScene" uid="uid://ninnis3a3jbn" path="res://3D/BlockbenchModels/Box/Box_Red.gltf" id="1_fi646"] [ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_kvqx7"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="2_jolck"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_jolck"] [sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"] size = Vector3(0.763428, 0.469452, 0.77832) diff --git a/3D/Scenes/Props/Box_3D_Yellow.tscn b/3D/Scenes/Props/Box_3D_Yellow.tscn index 6fbb94a4..6be3fcf2 100644 --- a/3D/Scenes/Props/Box_3D_Yellow.tscn +++ b/3D/Scenes/Props/Box_3D_Yellow.tscn @@ -2,7 +2,7 @@ [ext_resource type="PackedScene" uid="uid://cpwolnoq46foq" path="res://3D/BlockbenchModels/Box/Box_Yellow.gltf" id="1_0rxnx"] [ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_l0sp5"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="2_1if0l"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_1if0l"] [sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"] size = Vector3(0.763428, 0.469452, 0.77832) diff --git a/3D/Scenes/Props/Camera_3D.tscn b/3D/Scenes/Props/Camera_3D.tscn index 6af2931a..8d204622 100644 --- a/3D/Scenes/Props/Camera_3D.tscn +++ b/3D/Scenes/Props/Camera_3D.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=6 format=3 uid="uid://b0rhxqjs52fsv"] [ext_resource type="Script" uid="uid://dg3aho2ulfngs" path="res://Scripts/Actors/3D/SecurityCamera3D.cs" id="1_tkk1t"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="2_1t1m8"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_1t1m8"] [ext_resource type="PackedScene" uid="uid://bt5weyaiyhtrl" path="res://3D/BlockbenchModels/Camera/Camera.gltf" id="2_ix4p0"] [ext_resource type="Script" uid="uid://cmgcelj1qxg8o" path="res://addons/tattomoosa.vision_cone_3d/src/VisionCone3D.gd" id="4_f1teg"] diff --git a/3D/Scenes/Props/Furniture/Can_3D.tscn b/3D/Scenes/Props/Furniture/Can_3D.tscn index d2ca6c2e..0f9d5767 100644 --- a/3D/Scenes/Props/Furniture/Can_3D.tscn +++ b/3D/Scenes/Props/Furniture/Can_3D.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://ddi6ch3tuqqri"] [ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_r46ds"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="2_yftba"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_yftba"] [ext_resource type="PackedScene" uid="uid://b4t2ngnfotn0v" path="res://3D/BlockbenchModels/Furniture/Furniture_Can.gltf" id="3_r46ds"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_yftba"] diff --git a/3D/Scenes/Props/Furniture/Computer_Tower_3D.tscn b/3D/Scenes/Props/Furniture/Computer_Tower_3D.tscn index c5b4d1b4..c5659861 100644 --- a/3D/Scenes/Props/Furniture/Computer_Tower_3D.tscn +++ b/3D/Scenes/Props/Furniture/Computer_Tower_3D.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://5oos364p3wex"] [ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_uw6yr"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="2_mieo6"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_mieo6"] [ext_resource type="PackedScene" uid="uid://bdegfd1qsmm83" path="res://3D/BlockbenchModels/Furniture/Computer_Tower.gltf" id="3_uw6yr"] [sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"] diff --git a/3D/Scenes/Props/Furniture/Shelf_3D.tscn b/3D/Scenes/Props/Furniture/Shelf_3D.tscn index 74da7c66..4a7b3043 100644 --- a/3D/Scenes/Props/Furniture/Shelf_3D.tscn +++ b/3D/Scenes/Props/Furniture/Shelf_3D.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://dcv3hwt7p4hgp"] [ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_rnn28"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="2_1of0j"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_1of0j"] [ext_resource type="PackedScene" uid="uid://cttslkvuo01s4" path="res://3D/BlockbenchModels/Furniture/Furniture_Shelf.gltf" id="3_3irlk"] [sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"] diff --git a/3D/Scenes/Props/Furniture/SmallBox_3D.tscn b/3D/Scenes/Props/Furniture/SmallBox_3D.tscn index 395d292a..663fa772 100644 --- a/3D/Scenes/Props/Furniture/SmallBox_3D.tscn +++ b/3D/Scenes/Props/Furniture/SmallBox_3D.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://cgxq2tvdxnkil"] [ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_njx1r"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="2_ispe4"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_ispe4"] [ext_resource type="PackedScene" uid="uid://bsj5pd4e0q4f8" path="res://3D/BlockbenchModels/Furniture/Furniture_Box.gltf" id="3_njx1r"] [sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"] diff --git a/3D/Scenes/Props/Furniture/Triangle_Furniture_3D.tscn b/3D/Scenes/Props/Furniture/Triangle_Furniture_3D.tscn index d04aa9a9..6c04f22a 100644 --- a/3D/Scenes/Props/Furniture/Triangle_Furniture_3D.tscn +++ b/3D/Scenes/Props/Furniture/Triangle_Furniture_3D.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://dsppxfki3n30g"] [ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_td6u3"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="2_4teip"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_4teip"] [ext_resource type="PackedScene" uid="uid://ca7snn0abf446" path="res://3D/BlockbenchModels/Furniture/Furniture_Triangle.gltf" id="3_td6u3"] [sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"] diff --git a/3D/Scenes/Props/Wall_Fan_3D.tscn b/3D/Scenes/Props/Wall_Fan_3D.tscn index 1269cdb2..f5be5316 100644 --- a/3D/Scenes/Props/Wall_Fan_3D.tscn +++ b/3D/Scenes/Props/Wall_Fan_3D.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://cgy5kmem2hrps"] [ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_3hjfg"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="2_loy8v"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_loy8v"] [ext_resource type="PackedScene" uid="uid://c1acf6anldpax" path="res://3D/BlockbenchModels/WallFan/Wall_Fan.gltf" id="3_3hjfg"] [sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"] diff --git a/3D/Scenes/Props/Wooden_Box.tscn b/3D/Scenes/Props/Wooden_Box.tscn index 6a93f52b..815bf40a 100644 --- a/3D/Scenes/Props/Wooden_Box.tscn +++ b/3D/Scenes/Props/Wooden_Box.tscn @@ -2,7 +2,7 @@ [ext_resource type="PackedScene" uid="uid://etmm2bm8mj06" path="res://3D/BlockbenchModels/WoodenBox/Wooden_Box.gltf" id="1_2t24b"] [ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_nnmn3"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="2_5j3e2"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_5j3e2"] [sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"] size = Vector3(1, 0.498138, 0.543457) diff --git a/3D/Scenes/Props/barrel_3d.tscn b/3D/Scenes/Props/barrel_3d.tscn index 3be30230..b05da509 100644 --- a/3D/Scenes/Props/barrel_3d.tscn +++ b/3D/Scenes/Props/barrel_3d.tscn @@ -2,7 +2,7 @@ [ext_resource type="Texture2D" uid="uid://du8xcvbnf30o2" path="res://ExternalMaterial/Barrel/Barrels.png" id="1_2libs"] [ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_gafco"] -[ext_resource type="Resource" uid="uid://bpreje4f8ok62" path="res://Resources/Bullets/Explosion_3D.tres" id="2_g54tg"] +[ext_resource type="Resource" uid="uid://bpreje4f8ok62" path="res://Resources/Bullets/3D/Explosion_3D.tres" id="2_g54tg"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_2libs"] height = 0.564575 diff --git a/Cirno.sln.DotSettings.user b/Cirno.sln.DotSettings.user index ad575397..514ca554 100644 --- a/Cirno.sln.DotSettings.user +++ b/Cirno.sln.DotSettings.user @@ -20,6 +20,7 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded diff --git a/Resources/BossPhases/Rumia/Rumia_NS1_3D.tres b/Resources/BossPhases/Rumia/Rumia_NS1_3D.tres new file mode 100644 index 00000000..fd771232 --- /dev/null +++ b/Resources/BossPhases/Rumia/Rumia_NS1_3D.tres @@ -0,0 +1,54 @@ +[gd_resource type="Resource" script_class="BossPhase" load_steps=9 format=3 uid="uid://cnsmcexyhppdo"] + +[ext_resource type="Script" uid="uid://fo8sf11p058s" path="res://Scripts/Resources/BulletScripts/SimpleMovementPattern3D.cs" id="1_yfihc"] +[ext_resource type="Resource" uid="uid://bmdxhsjh2qla6" path="res://Resources/BossPhases/Rumia/Rumia_NS_1_Chase.tres" id="2_nr3fd"] +[ext_resource type="Resource" uid="uid://chcinoo8pkkwq" path="res://Resources/Patterns/Rumia_NS_2_3D.tres" id="3_d7m3h"] +[ext_resource type="Script" uid="uid://cdd6q2h0t1hhq" path="res://Scripts/Resources/BossPhase.cs" id="4_okj7o"] + +[sub_resource type="Resource" id="Resource_xfnue"] +script = ExtResource("1_yfihc") +relativeTargetPosition = Vector2(-4, 0) +moveDuration = 2.0 +RelativeToPlayer = true +transitionType = 0 +easeType = 2 +WaitForCompletion = false +metadata/_custom_type_script = "uid://fo8sf11p058s" + +[sub_resource type="Resource" id="Resource_lrsat"] +script = ExtResource("1_yfihc") +relativeTargetPosition = Vector2(0, 0) +moveDuration = 1.0 +RelativeToPlayer = false +transitionType = 0 +easeType = 2 +WaitForCompletion = false +metadata/_custom_type_script = "uid://fo8sf11p058s" + +[sub_resource type="Resource" id="Resource_ovn8y"] +script = ExtResource("1_yfihc") +relativeTargetPosition = Vector2(4, 0) +moveDuration = 2.0 +RelativeToPlayer = true +transitionType = 0 +easeType = 2 +WaitForCompletion = false +metadata/_custom_type_script = "uid://fo8sf11p058s" + +[sub_resource type="Resource" id="Resource_mi6hp"] +script = ExtResource("1_yfihc") +relativeTargetPosition = Vector2(0, 0) +moveDuration = 1.0 +RelativeToPlayer = false +transitionType = 0 +easeType = 2 +WaitForCompletion = false +metadata/_custom_type_script = "uid://fo8sf11p058s" + +[resource] +script = ExtResource("4_okj7o") +PhaseName = "" +Threshold = 100 +PlayAnimation = false +Patterns = Array[Object]([SubResource("Resource_xfnue"), ExtResource("2_nr3fd"), ExtResource("3_d7m3h"), SubResource("Resource_lrsat"), ExtResource("2_nr3fd"), ExtResource("3_d7m3h"), SubResource("Resource_ovn8y"), ExtResource("2_nr3fd"), ExtResource("3_d7m3h"), SubResource("Resource_mi6hp"), ExtResource("2_nr3fd"), ExtResource("3_d7m3h")]) +metadata/_custom_type_script = "uid://cdd6q2h0t1hhq" diff --git a/Resources/BossPhases/Rumia/Rumia_SP1_3D.tres b/Resources/BossPhases/Rumia/Rumia_SP1_3D.tres new file mode 100644 index 00000000..ad5f53be --- /dev/null +++ b/Resources/BossPhases/Rumia/Rumia_SP1_3D.tres @@ -0,0 +1,88 @@ +[gd_resource type="Resource" script_class="BossPhase" load_steps=12 format=3 uid="uid://cwrjsponw40pd"] + +[ext_resource type="Script" uid="uid://cdd6q2h0t1hhq" path="res://Scripts/Resources/BossPhase.cs" id="1_a65t7"] +[ext_resource type="Resource" uid="uid://cvcpb6u6mo8oo" path="res://Resources/Bullets/3D/rice_bullet_small_blue_3D.tres" id="1_d7vfp"] +[ext_resource type="Script" uid="uid://b5s5mjuk1rng5" path="res://Scripts/Resources/TimeModifier.cs" id="2_ali57"] +[ext_resource type="Script" uid="uid://dka43xos84kbw" path="res://Scripts/Resources/Modifiers/DelayedRotationModifier.cs" id="3_gq3ok"] +[ext_resource type="Script" uid="uid://bxiprx5nwmpnu" path="res://Scripts/AttackPatterns/ShootingPattern3D.cs" id="4_38hmx"] +[ext_resource type="Script" uid="uid://cg7gi3tva4gvw" path="res://Scripts/AttackPatterns/WaitPattern.cs" id="5_ali57"] + +[sub_resource type="Resource" id="Resource_r87xf"] +script = ExtResource("3_gq3ok") +TimeInSeconds = 1.0 +ModifierType = 1 +Value = 90.0 +Continuous = false +metadata/_custom_type_script = "uid://dka43xos84kbw" + +[sub_resource type="Resource" id="Resource_4hlom"] +script = ExtResource("4_38hmx") +BulletResource = ExtResource("1_d7vfp") +EmitterOffset = Vector3(0, 0, 0) +bulletCount = 20 +rotationSpeed = 0.0 +_rotationOffset = 0.0 +duration = 1.0 +spread = 360.0 +burstInterval = 2.0 +ShotsPerBurst = 100 +BurstRate = 0.0 +_targetPlayer = false +_predictPlayer = false +OverrideOwner = false +Owner = 0 +OverrideDamageType = false +DamageType = 0 +OverrideControllable = false +Controllable = false +OverrideCreationModifier = false +TimeModifiers = Array[ExtResource("2_ali57")]([SubResource("Resource_r87xf")]) +WaitForCompletion = false +metadata/_custom_type_script = "uid://bxiprx5nwmpnu" + +[sub_resource type="Resource" id="Resource_d7vfp"] +script = ExtResource("3_gq3ok") +TimeInSeconds = 1.0 +ModifierType = 1 +Value = -90.0 +Continuous = false +metadata/_custom_type_script = "uid://dka43xos84kbw" + +[sub_resource type="Resource" id="Resource_ali57"] +script = ExtResource("4_38hmx") +BulletResource = ExtResource("1_d7vfp") +EmitterOffset = Vector3(0, 0, 0) +bulletCount = 20 +rotationSpeed = 0.0 +_rotationOffset = 0.0 +duration = 1.0 +spread = 360.0 +burstInterval = 2.0 +ShotsPerBurst = 100 +BurstRate = 0.0 +_targetPlayer = false +_predictPlayer = false +OverrideOwner = false +Owner = 0 +OverrideDamageType = false +DamageType = 0 +OverrideControllable = false +Controllable = false +OverrideCreationModifier = false +TimeModifiers = Array[ExtResource("2_ali57")]([SubResource("Resource_d7vfp")]) +WaitForCompletion = false +metadata/_custom_type_script = "uid://bxiprx5nwmpnu" + +[sub_resource type="Resource" id="Resource_gq3ok"] +script = ExtResource("5_ali57") +SecondsToWait = 2.0 +WaitForCompletion = true +metadata/_custom_type_script = "uid://cg7gi3tva4gvw" + +[resource] +script = ExtResource("1_a65t7") +PhaseName = "Darkness Sign \"Demarcation\"" +Threshold = 50 +PlayAnimation = false +Patterns = [SubResource("Resource_4hlom"), SubResource("Resource_ali57"), SubResource("Resource_gq3ok")] +metadata/_custom_type_script = "uid://cdd6q2h0t1hhq" diff --git a/Resources/BossPhases/Rumia_Boss_Script_3D.tres b/Resources/BossPhases/Rumia_Boss_Script_3D.tres index 9c5bcc17..3a02472b 100644 --- a/Resources/BossPhases/Rumia_Boss_Script_3D.tres +++ b/Resources/BossPhases/Rumia_Boss_Script_3D.tres @@ -1,61 +1,13 @@ -[gd_resource type="Resource" script_class="BossScript" load_steps=11 format=3 uid="uid://1u4y6hvc318e"] +[gd_resource type="Resource" script_class="BossScript" load_steps=6 format=3 uid="uid://1u4y6hvc318e"] [ext_resource type="Script" uid="uid://cdd6q2h0t1hhq" path="res://Scripts/Resources/BossPhase.cs" id="1_k3wbt"] -[ext_resource type="Script" uid="uid://fo8sf11p058s" path="res://Scripts/Resources/BulletScripts/SimpleMovementPattern3D.cs" id="2_mi6hp"] +[ext_resource type="Resource" uid="uid://cnsmcexyhppdo" path="res://Resources/BossPhases/Rumia/Rumia_NS1_3D.tres" id="2_ovn8y"] [ext_resource type="Script" uid="uid://inasa76li3ym" path="res://Scripts/Resources/ScriptableBullets/BossScript.cs" id="2_t8f0y"] -[ext_resource type="Resource" uid="uid://bmdxhsjh2qla6" path="res://Resources/BossPhases/Rumia/Rumia_NS_1_Chase.tres" id="3_ovn8y"] -[ext_resource type="Resource" uid="uid://chcinoo8pkkwq" path="res://Resources/Patterns/Rumia_NS_2_3D.tres" id="5_mi6hp"] - -[sub_resource type="Resource" id="Resource_xfnue"] -script = ExtResource("2_mi6hp") -relativeTargetPosition = Vector2(-4, 0) -moveDuration = 2.0 -RelativeToPlayer = true -transitionType = 0 -easeType = 2 -WaitForCompletion = false -metadata/_custom_type_script = "uid://fo8sf11p058s" - -[sub_resource type="Resource" id="Resource_lrsat"] -script = ExtResource("2_mi6hp") -relativeTargetPosition = Vector2(0, 0) -moveDuration = 1.0 -RelativeToPlayer = false -transitionType = 0 -easeType = 2 -WaitForCompletion = false -metadata/_custom_type_script = "uid://fo8sf11p058s" - -[sub_resource type="Resource" id="Resource_ovn8y"] -script = ExtResource("2_mi6hp") -relativeTargetPosition = Vector2(4, 0) -moveDuration = 2.0 -RelativeToPlayer = true -transitionType = 0 -easeType = 2 -WaitForCompletion = false -metadata/_custom_type_script = "uid://fo8sf11p058s" - -[sub_resource type="Resource" id="Resource_mi6hp"] -script = ExtResource("2_mi6hp") -relativeTargetPosition = Vector2(0, 0) -moveDuration = 1.0 -RelativeToPlayer = false -transitionType = 0 -easeType = 2 -WaitForCompletion = false -metadata/_custom_type_script = "uid://fo8sf11p058s" - -[sub_resource type="Resource" id="Resource_l0s11"] -script = ExtResource("1_k3wbt") -PhaseName = "" -Threshold = 0 -PlayAnimation = false -Patterns = Array[Object]([SubResource("Resource_xfnue"), ExtResource("3_ovn8y"), ExtResource("5_mi6hp"), SubResource("Resource_lrsat"), ExtResource("3_ovn8y"), ExtResource("5_mi6hp"), SubResource("Resource_ovn8y"), ExtResource("3_ovn8y"), ExtResource("5_mi6hp"), SubResource("Resource_mi6hp"), ExtResource("3_ovn8y"), ExtResource("5_mi6hp")]) -metadata/_custom_type_script = "uid://cdd6q2h0t1hhq" +[ext_resource type="Resource" uid="uid://cwrjsponw40pd" path="res://Resources/BossPhases/Rumia/Rumia_SP1_3D.tres" id="3_mi6hp"] +[ext_resource type="Resource" uid="uid://ddb5dqocmk6x7" path="res://Resources/BossPhases/Rumia_NS2.tres" id="4_xfnue"] [resource] script = ExtResource("2_t8f0y") BossName = &"Rumia" -Phases = Array[ExtResource("1_k3wbt")]([SubResource("Resource_l0s11")]) +Phases = Array[ExtResource("1_k3wbt")]([ExtResource("3_mi6hp"), ExtResource("2_ovn8y"), ExtResource("4_xfnue")]) metadata/_custom_type_script = "uid://inasa76li3ym" diff --git a/Resources/BossPhases/Rumia_NS2.tres b/Resources/BossPhases/Rumia_NS2.tres index f3364041..5141a5b3 100644 --- a/Resources/BossPhases/Rumia_NS2.tres +++ b/Resources/BossPhases/Rumia_NS2.tres @@ -23,21 +23,17 @@ Continuous = false [sub_resource type="Resource" id="Resource_jtuih"] script = ExtResource("3_ow5fu") BulletScene = ExtResource("1_as8n2") +BulletSize = 0.0 BulletSpeed = 20.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = false Owner = 2 DamageType = 0 -RotateSprite = true -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 -Attributes = 0 +Attributes = 34 TimeModifiers = Array[Object]([SubResource("Resource_cj86d")]) [sub_resource type="Resource" id="Resource_puvpt"] @@ -74,19 +70,15 @@ Continuous = false [sub_resource type="Resource" id="Resource_axlrq"] script = ExtResource("3_ow5fu") BulletScene = ExtResource("1_as8n2") +BulletSize = 0.0 BulletSpeed = 20.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = true Owner = 2 DamageType = 0 -RotateSprite = true -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 TimeModifiers = Array[Object]([SubResource("Resource_pbgtt")]) @@ -118,19 +110,15 @@ WaitForCompletion = true [sub_resource type="Resource" id="Resource_w7b0n"] script = ExtResource("3_ow5fu") BulletScene = ExtResource("4_tek7n") +BulletSize = 0.0 BulletSpeed = 20.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = false Owner = 2 DamageType = 0 -RotateSprite = true -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 TimeModifiers = Array[Object]([SubResource("Resource_cj86d")]) @@ -162,19 +150,15 @@ WaitForCompletion = false [sub_resource type="Resource" id="Resource_3iv0j"] script = ExtResource("3_ow5fu") BulletScene = ExtResource("4_tek7n") +BulletSize = 0.0 BulletSpeed = 20.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = false Owner = 2 DamageType = 0 -RotateSprite = true -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 TimeModifiers = Array[Object]([SubResource("Resource_pbgtt")]) @@ -206,19 +190,15 @@ WaitForCompletion = true [sub_resource type="Resource" id="Resource_5jr31"] script = ExtResource("3_ow5fu") BulletScene = ExtResource("5_n4xqo") +BulletSize = 0.0 BulletSpeed = 20.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = false Owner = 2 DamageType = 0 -RotateSprite = true -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 TimeModifiers = Array[Object]([SubResource("Resource_cj86d")]) @@ -250,19 +230,15 @@ WaitForCompletion = false [sub_resource type="Resource" id="Resource_mg2qy"] script = ExtResource("3_ow5fu") BulletScene = ExtResource("5_n4xqo") +BulletSize = 0.0 BulletSpeed = 20.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = true Owner = 2 DamageType = 0 -RotateSprite = true -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 TimeModifiers = Array[Object]([SubResource("Resource_pbgtt")]) @@ -316,19 +292,15 @@ Continuous = false [sub_resource type="Resource" id="Resource_gfhkm"] script = ExtResource("3_ow5fu") BulletScene = ExtResource("7_gsnyb") +BulletSize = 0.0 BulletSpeed = 80.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = true Owner = 0 DamageType = 0 -RotateSprite = true -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 TimeModifiers = Array[Object]([SubResource("Resource_ln27r"), SubResource("Resource_nal31")]) @@ -368,19 +340,15 @@ WaitForCompletion = true [sub_resource type="Resource" id="Resource_4r74g"] script = ExtResource("3_ow5fu") BulletScene = ExtResource("7_gsnyb") +BulletSize = 0.0 BulletSpeed = 80.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = true Owner = 2 DamageType = 0 -RotateSprite = true -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 TimeModifiers = Array[Object]([SubResource("Resource_ln27r"), SubResource("Resource_nal31")]) @@ -420,19 +388,15 @@ WaitForCompletion = true [sub_resource type="Resource" id="Resource_vgg5n"] script = ExtResource("3_ow5fu") BulletScene = ExtResource("7_gsnyb") +BulletSize = 0.0 BulletSpeed = 80.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = false Owner = 2 DamageType = 0 -RotateSprite = true -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 TimeModifiers = Array[Object]([SubResource("Resource_ln27r"), SubResource("Resource_nal31")]) @@ -472,19 +436,15 @@ WaitForCompletion = true [sub_resource type="Resource" id="Resource_wlhxp"] script = ExtResource("3_ow5fu") BulletScene = ExtResource("7_gsnyb") +BulletSize = 0.0 BulletSpeed = 80.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = false Owner = 2 DamageType = 0 -RotateSprite = true -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 TimeModifiers = Array[Object]([SubResource("Resource_ln27r"), SubResource("Resource_nal31")]) diff --git a/Resources/BossPhases/Rumia_SP1.tres b/Resources/BossPhases/Rumia_SP1.tres index 55bb9bc3..d53955db 100644 --- a/Resources/BossPhases/Rumia_SP1.tres +++ b/Resources/BossPhases/Rumia_SP1.tres @@ -38,19 +38,15 @@ ScalingFactor = 10.0 [sub_resource type="Resource" id="Resource_2o6nd"] script = ExtResource("4_juoir") BulletScene = ExtResource("1_o4um1") +BulletSize = 0.0 BulletSpeed = 100.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = false Owner = 2 DamageType = 0 -RotateSprite = false -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 Modifier = SubResource("Resource_80ngy") @@ -91,19 +87,15 @@ ScalingFactor = 10.0 [sub_resource type="Resource" id="Resource_j7r4h"] script = ExtResource("4_juoir") BulletScene = ExtResource("4_ruawj") +BulletSize = 0.0 BulletSpeed = 100.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = false Owner = 2 DamageType = 0 -RotateSprite = false -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 Modifier = SubResource("Resource_e6jj0") diff --git a/Resources/BulletScripts/Emitter_Sprial_Test_Bullets.tres b/Resources/BulletScripts/Emitter_Sprial_Test_Bullets.tres index 14e81d11..51a5db86 100644 --- a/Resources/BulletScripts/Emitter_Sprial_Test_Bullets.tres +++ b/Resources/BulletScripts/Emitter_Sprial_Test_Bullets.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="BulletScript3D" load_steps=6 format=3 uid="uid://bbogxl60hvdp1"] -[ext_resource type="Resource" uid="uid://wbdspte0ch33" path="res://Resources/Bullets/simple_enemy_bullet_3D.tres" id="1_bjips"] +[ext_resource type="Resource" uid="uid://wbdspte0ch33" path="res://Resources/Bullets/3D/simple_enemy_bullet_3D.tres" id="1_bjips"] [ext_resource type="Script" uid="uid://b5s5mjuk1rng5" path="res://Scripts/Resources/TimeModifier.cs" id="2_yjtbi"] [ext_resource type="Script" uid="uid://bxiprx5nwmpnu" path="res://Scripts/AttackPatterns/ShootingPattern3D.cs" id="3_2rxa2"] [ext_resource type="Script" uid="uid://w8hcpu68ssq" path="res://Scripts/Resources/BulletScripts/BulletScript3D.cs" id="4_mksdg"] diff --git a/Resources/Bullets/Explosion_3D.tres b/Resources/Bullets/3D/Explosion_3D.tres similarity index 100% rename from Resources/Bullets/Explosion_3D.tres rename to Resources/Bullets/3D/Explosion_3D.tres diff --git a/Resources/Bullets/Explosion_Harmless_3D.tres b/Resources/Bullets/3D/Explosion_Harmless_3D.tres similarity index 100% rename from Resources/Bullets/Explosion_Harmless_3D.tres rename to Resources/Bullets/3D/Explosion_Harmless_3D.tres diff --git a/Resources/Bullets/Explosion_Harmless_Small_3D.tres b/Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres similarity index 100% rename from Resources/Bullets/Explosion_Harmless_Small_3D.tres rename to Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres diff --git a/Resources/Bullets/icicle_gun_bullets_3D.tres b/Resources/Bullets/3D/icicle_gun_bullets_3D.tres similarity index 73% rename from Resources/Bullets/icicle_gun_bullets_3D.tres rename to Resources/Bullets/3D/icicle_gun_bullets_3D.tres index ce1d8782..e0deeba5 100644 --- a/Resources/Bullets/icicle_gun_bullets_3D.tres +++ b/Resources/Bullets/3D/icicle_gun_bullets_3D.tres @@ -1,24 +1,22 @@ -[gd_resource type="Resource" script_class="BulletResource" load_steps=3 format=3 uid="uid://csmq6hngkx41e"] +[gd_resource type="Resource" script_class="BulletResource" load_steps=4 format=3 uid="uid://csmq6hngkx41e"] [ext_resource type="PackedScene" uid="uid://byc67yxbkefyk" path="res://Scenes/Weapons/bullet_3D.tscn" id="1_qojek"] +[ext_resource type="Texture2D" uid="uid://cybpmpb0d8yva" path="res://Sprites/Projectile.png" id="2_663pf"] [ext_resource type="Script" uid="uid://dslyrfcej3g2n" path="res://Scripts/Resources/BulletResource.cs" id="3_xep6w"] [resource] script = ExtResource("3_xep6w") BulletScene = ExtResource("1_qojek") +BulletSprite = ExtResource("2_663pf") +BulletSize = 0.08 BulletSpeed = 10.0 Direction = Vector2(1, 0) BulletDamage = 0.5 MaxDamage = 1.2 Knockback = 100.0 LifeTime = 10.0 -DestroyOnCollision = true Owner = 1 DamageType = 3 -RotateSprite = false -Controllable = false -Freezable = true -Grazeable = false GrazeValue = 0.2 Attributes = 256 TimeModifiers = [] diff --git a/Resources/Bullets/3D/rice_bullet_small_blue_3D.tres b/Resources/Bullets/3D/rice_bullet_small_blue_3D.tres new file mode 100644 index 00000000..b74cf423 --- /dev/null +++ b/Resources/Bullets/3D/rice_bullet_small_blue_3D.tres @@ -0,0 +1,23 @@ +[gd_resource type="Resource" script_class="BulletResource" load_steps=4 format=3 uid="uid://cvcpb6u6mo8oo"] + +[ext_resource type="PackedScene" uid="uid://d28e1t2c0lwbp" path="res://Scenes/Weapons/base_enemy_bullet_3D.tscn" id="1_8m7mi"] +[ext_resource type="Texture2D" uid="uid://wdw60fumilgh" path="res://Sprites/Bullets/rice_bullet_blue_small.png" id="2_p44mg"] +[ext_resource type="Script" uid="uid://dslyrfcej3g2n" path="res://Scripts/Resources/BulletResource.cs" id="3_56owm"] + +[resource] +script = ExtResource("3_56owm") +BulletScene = ExtResource("1_8m7mi") +BulletSprite = ExtResource("2_p44mg") +BulletSize = 0.08 +BulletSpeed = 2.5 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +MaxDamage = 1.0 +Knockback = 1.0 +LifeTime = 20.0 +Owner = 2 +DamageType = 0 +GrazeValue = 0.2 +Attributes = 98 +TimeModifiers = null +metadata/_custom_type_script = "uid://dslyrfcej3g2n" diff --git a/Resources/Bullets/simple_enemy_bullet_3D.tres b/Resources/Bullets/3D/simple_enemy_bullet_3D.tres similarity index 72% rename from Resources/Bullets/simple_enemy_bullet_3D.tres rename to Resources/Bullets/3D/simple_enemy_bullet_3D.tres index 52f3f650..061fd60f 100644 --- a/Resources/Bullets/simple_enemy_bullet_3D.tres +++ b/Resources/Bullets/3D/simple_enemy_bullet_3D.tres @@ -1,24 +1,22 @@ -[gd_resource type="Resource" script_class="BulletResource" load_steps=3 format=3 uid="uid://wbdspte0ch33"] +[gd_resource type="Resource" script_class="BulletResource" load_steps=4 format=3 uid="uid://wbdspte0ch33"] [ext_resource type="PackedScene" uid="uid://d28e1t2c0lwbp" path="res://Scenes/Weapons/base_enemy_bullet_3D.tscn" id="1_l7ter"] [ext_resource type="Script" uid="uid://dslyrfcej3g2n" path="res://Scripts/Resources/BulletResource.cs" id="2_5nrie"] +[ext_resource type="Texture2D" uid="uid://cfldr7l7dearo" path="res://Sprites/Bullets/mid_bullet_red.png" id="2_eh6d2"] [resource] script = ExtResource("2_5nrie") BulletScene = ExtResource("1_l7ter") +BulletSprite = ExtResource("2_eh6d2") +BulletSize = 0.161 BulletSpeed = 3.0 Direction = Vector2(1, 0) BulletDamage = 12.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 10.0 -DestroyOnCollision = true Owner = 2 DamageType = 0 -RotateSprite = false -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 290 TimeModifiers = [] diff --git a/Resources/Bullets/simple_enemy_bullet_small_3D.tres b/Resources/Bullets/3D/simple_enemy_bullet_small_3D.tres similarity index 73% rename from Resources/Bullets/simple_enemy_bullet_small_3D.tres rename to Resources/Bullets/3D/simple_enemy_bullet_small_3D.tres index bbbf773a..555c2e89 100644 --- a/Resources/Bullets/simple_enemy_bullet_small_3D.tres +++ b/Resources/Bullets/3D/simple_enemy_bullet_small_3D.tres @@ -1,24 +1,22 @@ -[gd_resource type="Resource" script_class="BulletResource" load_steps=3 format=3 uid="uid://qrqsywgiij7i"] +[gd_resource type="Resource" script_class="BulletResource" load_steps=4 format=3 uid="uid://qrqsywgiij7i"] [ext_resource type="PackedScene" uid="uid://c133312rx63ps" path="res://Scenes/Weapons/base_enemy_bullet_3D_small.tscn" id="1_pm333"] [ext_resource type="Script" uid="uid://dslyrfcej3g2n" path="res://Scripts/Resources/BulletResource.cs" id="2_4bl80"] +[ext_resource type="Texture2D" uid="uid://bdyd0bht18n47" path="res://Sprites/EnemyProjectile.png" id="2_e1tuw"] [resource] script = ExtResource("2_4bl80") BulletScene = ExtResource("1_pm333") +BulletSprite = ExtResource("2_e1tuw") +BulletSize = 0.08 BulletSpeed = 2.5 Direction = Vector2(1, 0) BulletDamage = 8.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 10.0 -DestroyOnCollision = true Owner = 2 DamageType = 0 -RotateSprite = false -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 290 TimeModifiers = [] diff --git a/Resources/Bullets/Boss/Rumia/Rumia_Red_Chase_Bullet.tres b/Resources/Bullets/Boss/Rumia/Rumia_Red_Chase_Bullet.tres index f310dafc..c5d7065b 100644 --- a/Resources/Bullets/Boss/Rumia/Rumia_Red_Chase_Bullet.tres +++ b/Resources/Bullets/Boss/Rumia/Rumia_Red_Chase_Bullet.tres @@ -19,19 +19,15 @@ Continuous = false [resource] script = ExtResource("3_871qc") BulletScene = ExtResource("1_y6dig") +BulletSize = 0.0 BulletSpeed = 70.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = true Owner = 2 DamageType = 0 -RotateSprite = false -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 0.2 Attributes = 34 Modifier = SubResource("Resource_jeq72") diff --git a/Resources/Enemies/Rumia_3D.tres b/Resources/Enemies/Rumia_3D.tres index 812c6e7c..60a1c22e 100644 --- a/Resources/Enemies/Rumia_3D.tres +++ b/Resources/Enemies/Rumia_3D.tres @@ -51,7 +51,7 @@ script = ExtResource("10_wrko3") EnemyName = &"Rumia" EnemyKey = &"RUMIA" PrefabPath = &"uid://cboj3aamnco2r" -MaxHealth = 900.0 +MaxHealth = 500.0 MovementSpeed = 2.0 Weapon = ExtResource("9_80fxw") LootDrops = Array[ExtResource("3_lo74v")]([SubResource("Resource_c8nix"), SubResource("Resource_gs2l3"), SubResource("Resource_sqnvg"), SubResource("Resource_5tyar"), SubResource("Resource_48xq6")]) diff --git a/Resources/Patterns/rumia_ns_2.tres b/Resources/Patterns/rumia_ns_2.tres index 707de4eb..ad31ddf9 100644 --- a/Resources/Patterns/rumia_ns_2.tres +++ b/Resources/Patterns/rumia_ns_2.tres @@ -10,19 +10,15 @@ [sub_resource type="Resource" id="Resource_uv53h"] script = ExtResource("2_gfvud") BulletScene = ExtResource("1_4xpdn") +BulletSize = 0.0 BulletSpeed = 40.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = false Owner = 2 DamageType = 0 -RotateSprite = false -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 TimeModifiers = [] @@ -54,19 +50,15 @@ WaitForCompletion = true [sub_resource type="Resource" id="Resource_wtj61"] script = ExtResource("2_gfvud") BulletScene = ExtResource("3_gr7a3") +BulletSize = 0.0 BulletSpeed = 50.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = false Owner = 2 DamageType = 0 -RotateSprite = false -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 TimeModifiers = [] @@ -98,19 +90,15 @@ WaitForCompletion = true [sub_resource type="Resource" id="Resource_qbq0m"] script = ExtResource("2_gfvud") BulletScene = ExtResource("1_4xpdn") +BulletSize = 0.0 BulletSpeed = 50.0 Direction = Vector2(1, 0) BulletDamage = 20.0 MaxDamage = 1.0 Knockback = 1.0 LifeTime = 20.0 -DestroyOnCollision = false Owner = 2 DamageType = 0 -RotateSprite = false -Controllable = false -Freezable = true -Grazeable = true GrazeValue = 1.0 Attributes = 0 TimeModifiers = [] diff --git a/Resources/Weapons/EnemyShotgun_3D.tres b/Resources/Weapons/EnemyShotgun_3D.tres index a04108f8..66433bb6 100644 --- a/Resources/Weapons/EnemyShotgun_3D.tres +++ b/Resources/Weapons/EnemyShotgun_3D.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="WeaponResource" load_steps=3 format=3 uid="uid://dtrmtjd7j03k8"] -[ext_resource type="Resource" uid="uid://qrqsywgiij7i" path="res://Resources/Bullets/simple_enemy_bullet_small_3D.tres" id="1_l2h7p"] +[ext_resource type="Resource" uid="uid://qrqsywgiij7i" path="res://Resources/Bullets/3D/simple_enemy_bullet_small_3D.tres" id="1_l2h7p"] [ext_resource type="Script" uid="uid://b6fmrnipv88bk" path="res://Scripts/Resources/WeaponResource.cs" id="2_0kc7l"] [resource] diff --git a/Resources/Weapons/EnemyWeapon_Big_3D.tres b/Resources/Weapons/EnemyWeapon_Big_3D.tres index 4c9f988f..5b9735c4 100644 --- a/Resources/Weapons/EnemyWeapon_Big_3D.tres +++ b/Resources/Weapons/EnemyWeapon_Big_3D.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="WeaponResource" load_steps=3 format=3 uid="uid://c6ywv08e6is5o"] -[ext_resource type="Resource" uid="uid://wbdspte0ch33" path="res://Resources/Bullets/simple_enemy_bullet_3D.tres" id="1_itg3a"] +[ext_resource type="Resource" uid="uid://wbdspte0ch33" path="res://Resources/Bullets/3D/simple_enemy_bullet_3D.tres" id="1_itg3a"] [ext_resource type="Script" uid="uid://b6fmrnipv88bk" path="res://Scripts/Resources/WeaponResource.cs" id="2_6m4qy"] [resource] diff --git a/Resources/Weapons/EnemyWeapon_Small_3D.tres b/Resources/Weapons/EnemyWeapon_Small_3D.tres index 2604a685..026d6e3d 100644 --- a/Resources/Weapons/EnemyWeapon_Small_3D.tres +++ b/Resources/Weapons/EnemyWeapon_Small_3D.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="WeaponResource" load_steps=3 format=3 uid="uid://co6x2jq0fslql"] -[ext_resource type="Resource" uid="uid://qrqsywgiij7i" path="res://Resources/Bullets/simple_enemy_bullet_small_3D.tres" id="1_mw07s"] +[ext_resource type="Resource" uid="uid://qrqsywgiij7i" path="res://Resources/Bullets/3D/simple_enemy_bullet_small_3D.tres" id="1_mw07s"] [ext_resource type="Script" uid="uid://b6fmrnipv88bk" path="res://Scripts/Resources/WeaponResource.cs" id="2_gpx82"] [resource] diff --git a/Resources/Weapons/Ice_Shotgun_T0_3D.tres b/Resources/Weapons/Ice_Shotgun_T0_3D.tres index 6f17c5e6..9d6947b9 100644 --- a/Resources/Weapons/Ice_Shotgun_T0_3D.tres +++ b/Resources/Weapons/Ice_Shotgun_T0_3D.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="WeaponResource" load_steps=5 format=3 uid="uid://bsdi1iudx5431"] -[ext_resource type="Resource" uid="uid://csmq6hngkx41e" path="res://Resources/Bullets/icicle_gun_bullets_3D.tres" id="1_ublmp"] +[ext_resource type="Resource" uid="uid://csmq6hngkx41e" path="res://Resources/Bullets/3D/icicle_gun_bullets_3D.tres" id="1_ublmp"] [ext_resource type="AudioStream" uid="uid://jsv3yjluv1au" path="res://SFX/Weapons/Reload_01.wav" id="2_vgotw"] [ext_resource type="AudioStream" uid="uid://oyjbk3qjp5cr" path="res://SFX/Chiptone_Source/Shotgun.wav" id="3_uxcop"] [ext_resource type="Script" uid="uid://b6fmrnipv88bk" path="res://Scripts/Resources/WeaponResource.cs" id="4_u3gqe"] diff --git a/Resources/Weapons/IcicleGun_3D.tres b/Resources/Weapons/IcicleGun_3D.tres index 4b3a2886..3051b165 100644 --- a/Resources/Weapons/IcicleGun_3D.tres +++ b/Resources/Weapons/IcicleGun_3D.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="WeaponResource" load_steps=5 format=3 uid="uid://bohkmf6g1fi2o"] -[ext_resource type="Resource" uid="uid://csmq6hngkx41e" path="res://Resources/Bullets/icicle_gun_bullets_3D.tres" id="1_d2kl0"] +[ext_resource type="Resource" uid="uid://csmq6hngkx41e" path="res://Resources/Bullets/3D/icicle_gun_bullets_3D.tres" id="1_d2kl0"] [ext_resource type="AudioStream" uid="uid://jsv3yjluv1au" path="res://SFX/Weapons/Reload_01.wav" id="2_sdmjb"] [ext_resource type="AudioStream" uid="uid://d16xfhll0fujt" path="res://SFX/Ice_Shot.wav" id="3_hj8fq"] [ext_resource type="Script" uid="uid://b6fmrnipv88bk" path="res://Scripts/Resources/WeaponResource.cs" id="4_ld57e"] diff --git a/Resources/Weapons/IcicleRepeater_T0_3D.tres b/Resources/Weapons/IcicleRepeater_T0_3D.tres index 112f2b24..501a964d 100644 --- a/Resources/Weapons/IcicleRepeater_T0_3D.tres +++ b/Resources/Weapons/IcicleRepeater_T0_3D.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="WeaponResource" load_steps=5 format=3 uid="uid://dhi6ml0xhkka5"] -[ext_resource type="Resource" uid="uid://csmq6hngkx41e" path="res://Resources/Bullets/icicle_gun_bullets_3D.tres" id="1_nxdsa"] +[ext_resource type="Resource" uid="uid://csmq6hngkx41e" path="res://Resources/Bullets/3D/icicle_gun_bullets_3D.tres" id="1_nxdsa"] [ext_resource type="AudioStream" uid="uid://jsv3yjluv1au" path="res://SFX/Weapons/Reload_01.wav" id="2_grfjv"] [ext_resource type="AudioStream" uid="uid://cjg8r7bthkfsy" path="res://SFX/Laser_shoot 11.wav" id="3_agxp1"] [ext_resource type="Script" uid="uid://b6fmrnipv88bk" path="res://Scripts/Resources/WeaponResource.cs" id="4_hppsh"] diff --git a/Scenes/Actors/Generic_Boss_3D.tscn b/Scenes/Actors/Generic_Boss_3D.tscn index 6adc4799..635d948d 100644 --- a/Scenes/Actors/Generic_Boss_3D.tscn +++ b/Scenes/Actors/Generic_Boss_3D.tscn @@ -77,10 +77,11 @@ shape = SubResource("CapsuleShape3D_jgarc") [node name="StateMachine" type="Node" parent="."] script = ExtResource("3_nghfy") -[node name="Init" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "DetectionProvider", "_moduleNodes")] +[node name="Init" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "DetectionProvider", "HealthProvider", "_moduleNodes")] script = ExtResource("4_ypm0v") Storage = NodePath("../../Storage") DetectionProvider = NodePath("../../PlayerDetectionProvider") +HealthProvider = NodePath("../../DamageReceiver/HealthProvider") _moduleNodes = [NodePath("../../AnimationModule")] [node name="Idle" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "GravityProvider", "_moduleNodes")] diff --git a/Scenes/Actors/Generic_Enemy_FSM_3D.tscn b/Scenes/Actors/Generic_Enemy_FSM_3D.tscn index ab075e71..5c90cf82 100644 --- a/Scenes/Actors/Generic_Enemy_FSM_3D.tscn +++ b/Scenes/Actors/Generic_Enemy_FSM_3D.tscn @@ -75,10 +75,11 @@ shape = SubResource("CapsuleShape3D_jgarc") [node name="StateMachine" type="Node" parent="."] script = ExtResource("2_xne4s") -[node name="Init" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "DetectionProvider", "_moduleNodes")] +[node name="Init" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "DetectionProvider", "HealthProvider", "_moduleNodes")] script = ExtResource("4_jgarc") Storage = NodePath("../../Storage") DetectionProvider = NodePath("../../PlayerDetectionProvider") +HealthProvider = NodePath("../../DamageReceiver/HealthProvider") _moduleNodes = [NodePath("../../AnimationModule")] [node name="Idle" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "GravityProvider", "_moduleNodes")] diff --git a/Scenes/Utils/pooling_manager.tscn b/Scenes/Utils/pooling_manager.tscn index 5ae58ef7..88fd9283 100644 --- a/Scenes/Utils/pooling_manager.tscn +++ b/Scenes/Utils/pooling_manager.tscn @@ -1,13 +1,13 @@ [gd_scene load_steps=15 format=3 uid="uid://c3t8rhwwdo5cl"] [ext_resource type="Script" uid="uid://k1pdoan4wie2" path="res://Scripts/Controllers/PoolingManager.cs" id="1_ji88p"] -[ext_resource type="Resource" uid="uid://bpreje4f8ok62" path="res://Resources/Bullets/Explosion_3D.tres" id="2_jldm7"] +[ext_resource type="Resource" uid="uid://bpreje4f8ok62" path="res://Resources/Bullets/3D/Explosion_3D.tres" id="2_jldm7"] [ext_resource type="Script" uid="uid://e3jqtie5u2wp" path="res://Scripts/Controllers/PooledBulletInfo.cs" id="3_45ubr"] -[ext_resource type="Resource" uid="uid://c22xvpyn5nxof" path="res://Resources/Bullets/Explosion_Harmless_3D.tres" id="4_30kdg"] -[ext_resource type="Resource" uid="uid://csmq6hngkx41e" path="res://Resources/Bullets/icicle_gun_bullets_3D.tres" id="5_eqibw"] -[ext_resource type="Resource" uid="uid://wbdspte0ch33" path="res://Resources/Bullets/simple_enemy_bullet_3D.tres" id="6_32utd"] -[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/Explosion_Harmless_Small_3D.tres" id="7_k5vio"] -[ext_resource type="Resource" uid="uid://qrqsywgiij7i" path="res://Resources/Bullets/simple_enemy_bullet_small_3D.tres" id="8_ck0dn"] +[ext_resource type="Resource" uid="uid://c22xvpyn5nxof" path="res://Resources/Bullets/3D/Explosion_Harmless_3D.tres" id="4_30kdg"] +[ext_resource type="Resource" uid="uid://csmq6hngkx41e" path="res://Resources/Bullets/3D/icicle_gun_bullets_3D.tres" id="5_eqibw"] +[ext_resource type="Resource" uid="uid://wbdspte0ch33" path="res://Resources/Bullets/3D/simple_enemy_bullet_3D.tres" id="6_32utd"] +[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="7_k5vio"] +[ext_resource type="Resource" uid="uid://qrqsywgiij7i" path="res://Resources/Bullets/3D/simple_enemy_bullet_small_3D.tres" id="8_ck0dn"] [sub_resource type="Resource" id="Resource_fco51"] script = ExtResource("3_45ubr") diff --git a/Scripts/Components/FSM/Enemy/3D/Init.cs b/Scripts/Components/FSM/Enemy/3D/Init.cs index 55cbf729..23c027b7 100644 --- a/Scripts/Components/FSM/Enemy/3D/Init.cs +++ b/Scripts/Components/FSM/Enemy/3D/Init.cs @@ -1,4 +1,5 @@ -using Cirno.Scripts.Enums; +using Cirno.Scripts.Components.Actors; +using Cirno.Scripts.Enums; using Godot; namespace Cirno.Scripts.Components.FSM.Enemy._3D; @@ -10,6 +11,8 @@ public partial class Init : EnemyStateBase3D [Export] public PlayerDetection3D DetectionProvider { get; private set; } + [Export] public ActorResourceProvider HealthProvider { get; private set; } + public override void EnterState() { //DamageReceiver.HealthProvider.MaxResource = StorageModule.Root.EnemyResource.MaxHealth; @@ -19,6 +22,10 @@ public partial class Init : EnemyStateBase3D Storage.HomePosition = MainObject.GlobalPosition; // TODO: Hide wings // TODO: Hide aiming reticule + + HealthProvider.MaxResource = Storage.Root.EnemyResource.MaxHealth; + + HealthProvider.FillResource(); StateMachine.SetState(EnemyState.Idle); } diff --git a/Scripts/Resources/BulletResource.cs b/Scripts/Resources/BulletResource.cs index 2c654cb2..59a578d4 100644 --- a/Scripts/Resources/BulletResource.cs +++ b/Scripts/Resources/BulletResource.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using Cirno.Scripts.Components; +using Cirno.Scripts.Utils; using Godot; using Godot.Collections; @@ -12,6 +13,8 @@ public partial class BulletResource : Resource { [Export] public PackedScene BulletScene { get; set; } + [Export] public Texture2D BulletSprite { get; set; } + [Export] public float BulletSize { get; set; } [Export] public PackedScene DestructionParticlesScene { get; set; } [Export] public float BulletSpeed = 100f; [Export] public Vector2 Direction = Vector2.Right; @@ -19,13 +22,8 @@ public partial class BulletResource : Resource [Export] public float MaxDamage = 1; [Export] public float Knockback = 1; [Export] public float LifeTime = 10f; - [Export] public bool DestroyOnCollision = true; [Export] public BulletOwner Owner = BulletOwner.None; [Export] public DamageType DamageType = DamageType.Neutral; - [Export] public bool RotateSprite = false; - [Export] public bool Controllable = false; - [Export] public bool Freezable { get; set; } = true; - [Export] public bool Grazeable { get; set; } = true; [Export] public float GrazeValue { get; set; } = 0.2f; [Export] public BulletFlags Attributes { get; set; } @@ -51,13 +49,13 @@ public partial class BulletResource : Resource RotationOffset = rotationOffset, Modifier = Modifier, LifeTime = LifeTime, - DestroyOnCollision = DestroyOnCollision, + DestroyOnCollision = Attributes.HasNoFlags(BulletFlags.Piercing), DestructionParticlesScene = DestructionParticlesScene, - RotateSprite = RotateSprite, - Controllabe = Controllable, - Freezable = Freezable, + RotateSprite = Attributes.HasFlag(BulletFlags.Rotateable), + Controllabe = Attributes.HasFlag(BulletFlags.Controllable), + Freezable = Attributes.HasFlag(BulletFlags.Freezable), TimeModifiers = TimeModifiers.Select(x => x).ToList(), - Grazeable = Grazeable, + Grazeable = Attributes.HasFlag(BulletFlags.Grazeable), GrazeValue = GrazeValue, Attributes = Attributes, // TimeModifiers = TimeModifiers?.Where(mod => mod is TimeModifier).Cast().Select(m => new ModifierWrapper() diff --git a/Scripts/Weapons/Bullet3D.cs b/Scripts/Weapons/Bullet3D.cs index 89856d32..eba0772c 100644 --- a/Scripts/Weapons/Bullet3D.cs +++ b/Scripts/Weapons/Bullet3D.cs @@ -45,23 +45,45 @@ public partial class Bullet3D : Area3D, IBullet private CollisionShape3D _collisionShape; + private Sprite3D _sprite; + + private readonly Vector3 _defaultRotation = new( + Mathf.DegToRad(-45f), + Mathf.DegToRad(45f), + 0f + ); + public override void _Ready() { _grazeSound = GetNodeOrNull("AudioStreamPlayer"); _grazeParticles = GetNodeOrNull("GrazeParticles"); _collisionShape = GetNode("CollisionShape"); + + _sprite = GetNodeOrNull("Sprite"); } public void Initialize(BulletInfo bulletInfo) { _bulletInfo = bulletInfo; - _elapsedTime = 0f; this.Speed = bulletInfo.Speed; + _sprite?.SetRotation(_defaultRotation); + SpriteRotation = 0f; + + if (_sprite is not null && bulletInfo.OriginalBulletResource.BulletSprite is not null) + { + _sprite.Texture = _bulletInfo.OriginalBulletResource.BulletSprite; + } + + if (_collisionShape.Shape is SphereShape3D sphere && bulletInfo.OriginalBulletResource.BulletSize > 0) + { + sphere.Radius = bulletInfo.OriginalBulletResource.BulletSize; + } + // Need to clone them here // _modifiers = _bulletInfo.TimeModifiers.Select(x => x.MakeClone()).ToList(); @@ -151,7 +173,7 @@ public partial class Bullet3D : Area3D, IBullet _direction = _direction.Rotated(radians).Normalized(); // Rotate direction if (!BulletInfo.Attributes.HasFlag(BulletFlags.Rotateable)) return; - RotateSprite(SpriteRotation + radians); + RotateSprite(SpriteRotation + radians + Mathf.DegToRad(45)); //SetRotation(Rotation + radians); } @@ -169,15 +191,14 @@ public partial class Bullet3D : Area3D, IBullet if (!BulletInfo.Attributes.HasFlag(BulletFlags.Rotateable)) return; SpriteRotation += radians; - Vector3 axis = Basis.FromEuler(new Vector3( - Mathf.DegToRad(-45f), - Mathf.DegToRad(45f), - 0f - )).Z; - - Rotate(axis, radians); - + var axis = Basis.FromEuler(_defaultRotation).Z; + _sprite?.Rotate(axis, radians); + //_sprite.SetRotation(new Vector3()); + //Rotate(axis, radians); + //_sprite?.Rotate(Vector3.Forward, radians); + //_sprite?.RotateZ(radians); //SetRotation(Rotation + radians); + } public void FacePlayer()