diff --git a/Resources/BossPhases/Rumia_Lasers.tres b/Resources/BossPhases/Rumia_Lasers.tres index c1144027..f9c3e6d9 100644 --- a/Resources/BossPhases/Rumia_Lasers.tres +++ b/Resources/BossPhases/Rumia_Lasers.tres @@ -1,13 +1,15 @@ -[gd_resource type="Resource" script_class="BossPhase" load_steps=16 format=3 uid="uid://hy1alw04fbds"] +[gd_resource type="Resource" script_class="BossPhase" load_steps=20 format=3 uid="uid://hy1alw04fbds"] [ext_resource type="Script" path="res://Scripts/Resources/BossPhase.cs" id="1_kkx86"] [ext_resource type="PackedScene" uid="uid://djro6xmsq7kqk" path="res://Scenes/Weapons/Bullets/enemyBullet_mid_blue_laser.tscn" id="1_nfjet"] +[ext_resource type="Resource" uid="uid://ouxb1jj48ipn" path="res://Resources/Bullets/Boss/Rumia/LaserBulletTest.tres" id="1_sewog"] [ext_resource type="Script" path="res://Scripts/Resources/Modifiers/DelayedSpeedModifier.cs" id="2_1bi0q"] [ext_resource type="Script" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="2_peiit"] [ext_resource type="Script" path="res://Scripts/AttackPatterns/LaserPattern.cs" id="2_tctyt"] [ext_resource type="Script" path="res://Scripts/Resources/Modifiers/DelayedPlayerFacingModifier.cs" id="3_7fbut"] [ext_resource type="PackedScene" uid="uid://dbcj1u77spk6p" path="res://Scenes/Weapons/Bullets/enemyBullet_rice_yellow_small.tscn" id="4_7kssw"] [ext_resource type="Script" path="res://Scripts/Resources/Modifiers/DelayedRotationModifier.cs" id="6_vwx23"] +[ext_resource type="Script" path="res://Scripts/Resources/BulletResource.cs" id="8_6iihn"] [sub_resource type="Resource" id="Resource_3a5dw"] script = ExtResource("2_1bi0q") @@ -30,6 +32,7 @@ PreFireTime = 1.8 LethalTime = 4.0 PreFireColor = Color(0, 0, 1, 0.501961) LethalColor = Color(0, 0, 1, 1) +BulletResource = ExtResource("1_sewog") BulletScene = ExtResource("1_nfjet") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -54,8 +57,21 @@ ModifierType = 1 Value = -90.0 Continuous = false +[sub_resource type="Resource" id="Resource_burw2"] +script = ExtResource("8_6iihn") +BulletScene = ExtResource("4_7kssw") +BulletSpeed = 40.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_54787")]) + [sub_resource type="Resource" id="Resource_7tuk4"] script = ExtResource("2_peiit") +BulletResource = SubResource("Resource_burw2") BulletScene = ExtResource("4_7kssw") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -80,8 +96,21 @@ ModifierType = 1 Value = 90.0 Continuous = false +[sub_resource type="Resource" id="Resource_t47fr"] +script = ExtResource("8_6iihn") +BulletScene = ExtResource("4_7kssw") +BulletSpeed = 40.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_1yaaf")]) + [sub_resource type="Resource" id="Resource_reykq"] script = ExtResource("2_peiit") +BulletResource = SubResource("Resource_t47fr") BulletScene = ExtResource("4_7kssw") _bulletLifeTime = 20.0 _destroyOnCollision = false diff --git a/Resources/BossPhases/Rumia_NS2.tres b/Resources/BossPhases/Rumia_NS2.tres index cf02fda3..2f904318 100644 --- a/Resources/BossPhases/Rumia_NS2.tres +++ b/Resources/BossPhases/Rumia_NS2.tres @@ -1,9 +1,10 @@ -[gd_resource type="Resource" script_class="BossPhase" load_steps=32 format=3 uid="uid://ddb5dqocmk6x7"] +[gd_resource type="Resource" script_class="BossPhase" load_steps=43 format=3 uid="uid://ddb5dqocmk6x7"] [ext_resource type="PackedScene" uid="uid://dh81snen2f6bf" path="res://Scenes/Weapons/Bullets/enemyBullet_rice_blue_small.tscn" id="1_as8n2"] [ext_resource type="Script" path="res://Scripts/Resources/BossPhase.cs" id="1_fdlxv"] [ext_resource type="Script" path="res://Scripts/Resources/Modifiers/DelayedRotationModifier.cs" id="2_onj13"] [ext_resource type="Script" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="2_wkmhk"] +[ext_resource type="Script" path="res://Scripts/Resources/BulletResource.cs" id="3_ow5fu"] [ext_resource type="PackedScene" uid="uid://ctrk5qrb7n3fm" path="res://Scenes/Weapons/Bullets/enemyBullet_rice_green_small.tscn" id="4_tek7n"] [ext_resource type="PackedScene" uid="uid://chowj81jsdvcx" path="res://Scenes/Weapons/Bullets/enemyBullet_rice_red_small.tscn" id="5_n4xqo"] [ext_resource type="Script" path="res://Scripts/Resources/SimpleMovementPattern.cs" id="6_bw7cj"] @@ -19,8 +20,21 @@ ModifierType = 1 Value = 90.0 Continuous = false +[sub_resource type="Resource" id="Resource_jtuih"] +script = ExtResource("3_ow5fu") +BulletScene = ExtResource("1_as8n2") +BulletSpeed = 20.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_cj86d")]) + [sub_resource type="Resource" id="Resource_puvpt"] script = ExtResource("2_wkmhk") +BulletResource = SubResource("Resource_jtuih") BulletScene = ExtResource("1_as8n2") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -45,8 +59,21 @@ ModifierType = 1 Value = -90.0 Continuous = false +[sub_resource type="Resource" id="Resource_axlrq"] +script = ExtResource("3_ow5fu") +BulletScene = ExtResource("1_as8n2") +BulletSpeed = 20.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = true +Owner = 2 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_pbgtt")]) + [sub_resource type="Resource" id="Resource_44j24"] script = ExtResource("2_wkmhk") +BulletResource = SubResource("Resource_axlrq") BulletScene = ExtResource("1_as8n2") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -64,8 +91,21 @@ _timeModifiers = Array[Resource]([SubResource("Resource_pbgtt")]) _targetPlayer = false WaitForCompletion = true +[sub_resource type="Resource" id="Resource_w7b0n"] +script = ExtResource("3_ow5fu") +BulletScene = ExtResource("4_tek7n") +BulletSpeed = 20.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_cj86d")]) + [sub_resource type="Resource" id="Resource_wkxow"] script = ExtResource("2_wkmhk") +BulletResource = SubResource("Resource_w7b0n") BulletScene = ExtResource("4_tek7n") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -83,8 +123,21 @@ _timeModifiers = Array[Resource]([SubResource("Resource_cj86d")]) _targetPlayer = false WaitForCompletion = false +[sub_resource type="Resource" id="Resource_3iv0j"] +script = ExtResource("3_ow5fu") +BulletScene = ExtResource("4_tek7n") +BulletSpeed = 20.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_pbgtt")]) + [sub_resource type="Resource" id="Resource_gcqck"] script = ExtResource("2_wkmhk") +BulletResource = SubResource("Resource_3iv0j") BulletScene = ExtResource("4_tek7n") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -102,8 +155,21 @@ _timeModifiers = Array[Resource]([SubResource("Resource_pbgtt")]) _targetPlayer = false WaitForCompletion = true +[sub_resource type="Resource" id="Resource_5jr31"] +script = ExtResource("3_ow5fu") +BulletScene = ExtResource("5_n4xqo") +BulletSpeed = 20.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_cj86d")]) + [sub_resource type="Resource" id="Resource_bxbto"] script = ExtResource("2_wkmhk") +BulletResource = SubResource("Resource_5jr31") BulletScene = ExtResource("5_n4xqo") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -121,8 +187,21 @@ _timeModifiers = Array[Resource]([SubResource("Resource_cj86d")]) _targetPlayer = false WaitForCompletion = false +[sub_resource type="Resource" id="Resource_mg2qy"] +script = ExtResource("3_ow5fu") +BulletScene = ExtResource("5_n4xqo") +BulletSpeed = 20.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = true +Owner = 2 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_pbgtt")]) + [sub_resource type="Resource" id="Resource_q48s1"] script = ExtResource("2_wkmhk") +BulletResource = SubResource("Resource_mg2qy") BulletScene = ExtResource("5_n4xqo") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -148,14 +227,6 @@ transitionType = 0 easeType = 2 WaitForCompletion = true -[sub_resource type="Resource" id="Resource_80ngy"] -script = ExtResource("8_6ya1v") -ModifierType = 1 -Easing = 0 -Invert = true -MinimumSpeed = 10.0 -ScalingFactor = 10.0 - [sub_resource type="Resource" id="Resource_ln27r"] script = ExtResource("9_mfo5a") TimeInSeconds = 0.5 @@ -170,8 +241,29 @@ ModifierType = 0 Value = 50.0 Continuous = false +[sub_resource type="Resource" id="Resource_gfhkm"] +script = ExtResource("3_ow5fu") +BulletScene = ExtResource("7_gsnyb") +BulletSpeed = 80.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = true +Owner = 0 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_ln27r"), SubResource("Resource_nal31")]) + +[sub_resource type="Resource" id="Resource_80ngy"] +script = ExtResource("8_6ya1v") +ModifierType = 1 +Easing = 0 +Invert = true +MinimumSpeed = 10.0 +ScalingFactor = 10.0 + [sub_resource type="Resource" id="Resource_mpjrl"] script = ExtResource("2_wkmhk") +BulletResource = SubResource("Resource_gfhkm") BulletScene = ExtResource("7_gsnyb") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -198,8 +290,21 @@ transitionType = 0 easeType = 2 WaitForCompletion = true +[sub_resource type="Resource" id="Resource_4r74g"] +script = ExtResource("3_ow5fu") +BulletScene = ExtResource("7_gsnyb") +BulletSpeed = 80.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = true +Owner = 2 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_ln27r"), SubResource("Resource_nal31")]) + [sub_resource type="Resource" id="Resource_ncfnl"] script = ExtResource("2_wkmhk") +BulletResource = SubResource("Resource_4r74g") BulletScene = ExtResource("7_gsnyb") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -226,8 +331,21 @@ transitionType = 0 easeType = 2 WaitForCompletion = true +[sub_resource type="Resource" id="Resource_vgg5n"] +script = ExtResource("3_ow5fu") +BulletScene = ExtResource("7_gsnyb") +BulletSpeed = 80.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_ln27r"), SubResource("Resource_nal31")]) + [sub_resource type="Resource" id="Resource_vkthc"] script = ExtResource("2_wkmhk") +BulletResource = SubResource("Resource_vgg5n") BulletScene = ExtResource("7_gsnyb") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -254,8 +372,21 @@ transitionType = 0 easeType = 2 WaitForCompletion = true +[sub_resource type="Resource" id="Resource_wlhxp"] +script = ExtResource("3_ow5fu") +BulletScene = ExtResource("7_gsnyb") +BulletSpeed = 80.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_ln27r"), SubResource("Resource_nal31")]) + [sub_resource type="Resource" id="Resource_n2gn4"] script = ExtResource("2_wkmhk") +BulletResource = SubResource("Resource_wlhxp") BulletScene = ExtResource("7_gsnyb") _bulletLifeTime = 20.0 _destroyOnCollision = false diff --git a/Resources/BossPhases/Rumia_SP1.tres b/Resources/BossPhases/Rumia_SP1.tres index 44ea1711..198266c0 100644 --- a/Resources/BossPhases/Rumia_SP1.tres +++ b/Resources/BossPhases/Rumia_SP1.tres @@ -1,10 +1,11 @@ -[gd_resource type="Resource" script_class="BossPhase" load_steps=16 format=3 uid="uid://ccj0cqbveey8c"] +[gd_resource type="Resource" script_class="BossPhase" load_steps=19 format=3 uid="uid://ccj0cqbveey8c"] [ext_resource type="Script" path="res://Scripts/Resources/SimpleMovementPattern.cs" id="1_lw82i"] [ext_resource type="PackedScene" uid="uid://dohakkayqj4w2" path="res://Scenes/Weapons/Bullets/enemyBullet_green.tscn" id="1_o4um1"] [ext_resource type="Script" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="2_7268a"] [ext_resource type="Script" path="res://Scripts/Resources/SpeedModifier.cs" id="3_606tl"] [ext_resource type="Script" path="res://Scripts/Resources/BossPhase.cs" id="3_o6234"] +[ext_resource type="Script" path="res://Scripts/Resources/BulletResource.cs" id="4_juoir"] [ext_resource type="PackedScene" uid="uid://by2rk6gx67f7e" path="res://Scenes/Weapons/Bullets/enemyBullet_yellow.tscn" id="4_ruawj"] [ext_resource type="Script" path="res://Scripts/Resources/PatternGroup.cs" id="6_6mg1u"] @@ -24,8 +25,22 @@ Invert = true MinimumSpeed = 10.0 ScalingFactor = 10.0 +[sub_resource type="Resource" id="Resource_2o6nd"] +script = ExtResource("4_juoir") +BulletScene = ExtResource("1_o4um1") +BulletSpeed = 80.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +Modifier = SubResource("Resource_80ngy") +TimeModifiers = null + [sub_resource type="Resource" id="Resource_0v4v8"] script = ExtResource("2_7268a") +BulletResource = SubResource("Resource_2o6nd") BulletScene = ExtResource("1_o4um1") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -52,8 +67,22 @@ Invert = false MinimumSpeed = 10.0 ScalingFactor = 10.0 +[sub_resource type="Resource" id="Resource_j7r4h"] +script = ExtResource("4_juoir") +BulletScene = ExtResource("4_ruawj") +BulletSpeed = 80.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +Modifier = SubResource("Resource_e6jj0") +TimeModifiers = null + [sub_resource type="Resource" id="Resource_7yi74"] script = ExtResource("2_7268a") +BulletResource = SubResource("Resource_j7r4h") BulletScene = ExtResource("4_ruawj") _bulletLifeTime = 20.0 _destroyOnCollision = false diff --git a/Resources/BossPhases/testphase.tres b/Resources/BossPhases/testphase.tres index a1b50a3d..de3b5024 100644 --- a/Resources/BossPhases/testphase.tres +++ b/Resources/BossPhases/testphase.tres @@ -5,6 +5,8 @@ [sub_resource type="Resource" id="Resource_8caj3"] script = ExtResource("1_q8vp4") +_bulletLifeTime = 20.0 +_destroyOnCollision = false bulletSpeed = 5.0 bulletCount = 16 rotationSpeed = 0.0 diff --git a/Resources/Bullets/Boss/Rumia/LaserBulletTest.tres b/Resources/Bullets/Boss/Rumia/LaserBulletTest.tres new file mode 100644 index 00000000..d46b12b6 --- /dev/null +++ b/Resources/Bullets/Boss/Rumia/LaserBulletTest.tres @@ -0,0 +1,32 @@ +[gd_resource type="Resource" script_class="BulletResource" load_steps=7 format=3 uid="uid://ouxb1jj48ipn"] + +[ext_resource type="PackedScene" uid="uid://djro6xmsq7kqk" path="res://Scenes/Weapons/Bullets/enemyBullet_mid_blue_laser.tscn" id="1_w3uhv"] +[ext_resource type="Script" path="res://Scripts/Resources/Modifiers/DelayedSpeedModifier.cs" id="2_7jsp7"] +[ext_resource type="Script" path="res://Scripts/Resources/Modifiers/DelayedPlayerFacingModifier.cs" id="3_ps6u0"] +[ext_resource type="Script" path="res://Scripts/Resources/BulletResource.cs" id="4_xv6y0"] + +[sub_resource type="Resource" id="Resource_3a5dw"] +script = ExtResource("2_7jsp7") +TimeInSeconds = 0.8 +ModifierType = 0 +Value = 0.0 +Continuous = false + +[sub_resource type="Resource" id="Resource_rtncg"] +script = ExtResource("3_ps6u0") +TimeInSeconds = 0.9 +ModifierType = 2 +Value = 0.0 +Continuous = false + +[resource] +script = ExtResource("4_xv6y0") +BulletScene = ExtResource("1_w3uhv") +BulletSpeed = 40.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +TimeModifiers = Array[Object]([SubResource("Resource_3a5dw"), SubResource("Resource_rtncg")]) diff --git a/Resources/Bullets/Boss/Rumia/Rumia_Red_Chase_Bullet.tres b/Resources/Bullets/Boss/Rumia/Rumia_Red_Chase_Bullet.tres new file mode 100644 index 00000000..6c5d60dd --- /dev/null +++ b/Resources/Bullets/Boss/Rumia/Rumia_Red_Chase_Bullet.tres @@ -0,0 +1,30 @@ +[gd_resource type="Resource" script_class="BulletResource" load_steps=7 format=3 uid="uid://bifeoxb6nfykq"] + +[ext_resource type="PackedScene" uid="uid://bi3f14klscvlw" path="res://Scenes/Weapons/Bullets/enemyBullet_mid_red.tscn" id="1_y6dig"] +[ext_resource type="Script" path="res://Scripts/Resources/DecreasingSpeedModifier.cs" id="2_cxo3j"] +[ext_resource type="Script" path="res://Scripts/Resources/Modifiers/DelayedPlayerFacingModifier.cs" id="3_85dkg"] +[ext_resource type="Script" path="res://Scripts/Resources/BulletResource.cs" id="3_871qc"] + +[sub_resource type="Resource" id="Resource_jeq72"] +script = ExtResource("2_cxo3j") +decreaseRate = 4.0 + +[sub_resource type="Resource" id="Resource_edsop"] +script = ExtResource("3_85dkg") +TimeInSeconds = 0.0 +ModifierType = 2 +Value = 0.0 +Continuous = false + +[resource] +script = ExtResource("3_871qc") +BulletScene = ExtResource("1_y6dig") +BulletSpeed = 70.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +Modifier = SubResource("Resource_jeq72") +TimeModifiers = Array[Object]([SubResource("Resource_edsop")]) diff --git a/Resources/Patterns/rumia_ns_1_spiralized.tres b/Resources/Patterns/rumia_ns_1_spiralized.tres index afe40000..47a97131 100644 --- a/Resources/Patterns/rumia_ns_1_spiralized.tres +++ b/Resources/Patterns/rumia_ns_1_spiralized.tres @@ -1,6 +1,7 @@ -[gd_resource type="Resource" script_class="SpiralPattern" load_steps=5 format=3 uid="uid://jjky5fqn74qk"] +[gd_resource type="Resource" script_class="SpiralPattern" load_steps=6 format=3 uid="uid://jjky5fqn74qk"] [ext_resource type="PackedScene" uid="uid://bi3f14klscvlw" path="res://Scenes/Weapons/Bullets/enemyBullet_mid_red.tscn" id="1_iwsrv"] +[ext_resource type="Resource" uid="uid://bifeoxb6nfykq" path="res://Resources/Bullets/Boss/Rumia/Rumia_Red_Chase_Bullet.tres" id="1_lasr5"] [ext_resource type="Script" path="res://Scripts/Resources/DecreasingSpeedModifier.cs" id="2_etidu"] [ext_resource type="Script" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="3_ryait"] @@ -10,6 +11,7 @@ decreaseRate = 4.0 [resource] script = ExtResource("3_ryait") +BulletResource = ExtResource("1_lasr5") BulletScene = ExtResource("1_iwsrv") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -24,6 +26,6 @@ owner = 2 _damageType = 0 _bulletDamage = 1.0 _modifier = SubResource("Resource_jeq72") -_timeModifiers = null +_timeModifiers = Array[Object]([]) _targetPlayer = true WaitForCompletion = true diff --git a/Resources/Patterns/rumia_ns_2.tres b/Resources/Patterns/rumia_ns_2.tres index 1e59a8a8..2c551d3d 100644 --- a/Resources/Patterns/rumia_ns_2.tres +++ b/Resources/Patterns/rumia_ns_2.tres @@ -1,12 +1,26 @@ -[gd_resource type="Resource" script_class="PatternGroup" load_steps=8 format=3 uid="uid://du2kuv125vbrx"] +[gd_resource type="Resource" script_class="PatternGroup" load_steps=12 format=3 uid="uid://du2kuv125vbrx"] [ext_resource type="PackedScene" uid="uid://dre2wvw4pa3hc" path="res://Scenes/Weapons/Bullets/enemyBullet_mid_blue.tscn" id="1_4xpdn"] [ext_resource type="Script" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="2_ee42k"] +[ext_resource type="Script" path="res://Scripts/Resources/BulletResource.cs" id="2_gfvud"] [ext_resource type="PackedScene" uid="uid://dohakkayqj4w2" path="res://Scenes/Weapons/Bullets/enemyBullet_green.tscn" id="3_gr7a3"] [ext_resource type="Script" path="res://Scripts/Resources/PatternGroup.cs" id="3_jvysx"] +[sub_resource type="Resource" id="Resource_uv53h"] +script = ExtResource("2_gfvud") +BulletScene = ExtResource("1_4xpdn") +BulletSpeed = 40.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +TimeModifiers = null + [sub_resource type="Resource" id="Resource_ne4q3"] script = ExtResource("2_ee42k") +BulletResource = SubResource("Resource_uv53h") BulletScene = ExtResource("1_4xpdn") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -20,12 +34,25 @@ spread = 360.0 owner = 2 _damageType = 0 _bulletDamage = 1.0 -_timeModifiers = null +_timeModifiers = Array[Object]([]) _targetPlayer = false WaitForCompletion = true +[sub_resource type="Resource" id="Resource_wtj61"] +script = ExtResource("2_gfvud") +BulletScene = ExtResource("3_gr7a3") +BulletSpeed = 50.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +TimeModifiers = null + [sub_resource type="Resource" id="Resource_kohuh"] script = ExtResource("2_ee42k") +BulletResource = SubResource("Resource_wtj61") BulletScene = ExtResource("3_gr7a3") _bulletLifeTime = 20.0 _destroyOnCollision = false @@ -43,8 +70,21 @@ _timeModifiers = null _targetPlayer = false WaitForCompletion = true +[sub_resource type="Resource" id="Resource_qbq0m"] +script = ExtResource("2_gfvud") +BulletScene = ExtResource("1_4xpdn") +BulletSpeed = 50.0 +Direction = Vector2(1, 0) +BulletDamage = 20.0 +LifeTime = 20.0 +DestroyOnCollision = false +Owner = 2 +DamageType = 0 +TimeModifiers = null + [sub_resource type="Resource" id="Resource_depjj"] script = ExtResource("2_ee42k") +BulletResource = SubResource("Resource_qbq0m") BulletScene = ExtResource("1_4xpdn") _bulletLifeTime = 20.0 _destroyOnCollision = false diff --git a/Scenes/Props/Barrel.tscn b/Scenes/Props/Barrel.tscn index bfdd92aa..df570c42 100644 --- a/Scenes/Props/Barrel.tscn +++ b/Scenes/Props/Barrel.tscn @@ -11,6 +11,7 @@ script = ExtResource("5_xl8uf") BulletScene = ExtResource("4_epbro") BulletSpeed = 0.0 +Direction = Vector2(1, 0) BulletDamage = 8.0 LifeTime = 1.0 DestroyOnCollision = false diff --git a/Scripts/AttackPatterns/SpiralPattern.cs b/Scripts/AttackPatterns/SpiralPattern.cs index d817b651..87cc67bd 100644 --- a/Scripts/AttackPatterns/SpiralPattern.cs +++ b/Scripts/AttackPatterns/SpiralPattern.cs @@ -12,19 +12,20 @@ namespace Cirno.Scripts.AttackPatterns; [GlobalClass] public partial class SpiralPattern : AttackPattern { + [Export] public BulletResource BulletResource { get; set; } [Export] public PackedScene BulletScene; - [Export] private float _bulletLifeTime = 20f; - [Export] private bool _destroyOnCollision = false; - [Export] private float bulletSpeed = 5f; + [Export] private float _bulletLifeTime = 20f; // Switch to res + [Export] private bool _destroyOnCollision = false; // Switch to res + [Export] private float bulletSpeed = 5f; // Switch to res [Export] private int bulletCount = 16; [Export] private float rotationSpeed = 0f; [Export] private float _rotationOffset = 0f; [Export] private float duration = 5f; [Export] private float burstInterval = 0.5f; [Export] private float spread = 360f; - [Export] private BulletOwner owner = BulletOwner.Enemy; - [Export] private DamageType _damageType = DamageType.Neutral; - [Export] private float _bulletDamage = 1f; + [Export] private BulletOwner owner = BulletOwner.Enemy; // Switch to res + [Export] private DamageType _damageType = DamageType.Neutral; // Switch to res + [Export] private float _bulletDamage = 1f; // Switch to res [ExportGroup("Modifiers")] [Export] private BulletCreationModifier _modifier; [ExportGroup("Modifiers")] @@ -52,14 +53,18 @@ public partial class SpiralPattern : AttackPattern { float angleOffset = _rotationOffset + (float)(rotationSpeed * timer); - Vector2 direction = Vector2.Right; + Vector2 direction = BulletResource.Direction; if (_targetPlayer && Boss.GameManager.PlayerPosition.HasValue) { direction = (Boss.GameManager.PlayerPosition.Value - Boss.GlobalPosition).Normalized(); } + + var bullet = BulletResource.MakeBullet(Boss.GlobalPosition, bulletCount, spread, angleOffset); + bullet.Direction = direction; - spawner.SpawnBullet(MakeBullet(Boss.GlobalPosition, direction, angleOffset)); + //spawner.SpawnBullet(MakeBullet(Boss.GlobalPosition, direction, angleOffset)); + spawner.SpawnBullet(bullet); // spawner.SpawnBullet(new BulletInfo() // { @@ -87,6 +92,9 @@ public partial class SpiralPattern : AttackPattern protected virtual BulletInfo MakeBullet(Vector2 position, Vector2 direction, float angleOffset) { + var bl = BulletResource.MakeBullet(position, bulletCount, angleOffset); + bl.Direction = direction; + return new BulletInfo() { Position = position, diff --git a/Scripts/Resources/BulletResource.cs b/Scripts/Resources/BulletResource.cs index be2abf2a..7c832c72 100644 --- a/Scripts/Resources/BulletResource.cs +++ b/Scripts/Resources/BulletResource.cs @@ -13,6 +13,7 @@ public partial class BulletResource : Resource public PackedScene BulletScene { get; set; } [Export] public PackedScene DestructionParticlesScene { get; set; } [Export] public float BulletSpeed = 100f; + [Export] public Vector2 Direction = Vector2.Right; [Export] public float BulletDamage = 1; [Export] public float LifeTime = 10f; [Export] public bool DestroyOnCollision = true; @@ -28,7 +29,7 @@ public partial class BulletResource : Resource return new BulletInfo() { Position = position, - Direction = Vector2.Right, + Direction = Direction, Speed = BulletSpeed, Owner = Owner, DamageType = DamageType,