Spell card tweaks and wait mode

This commit is contained in:
Marco 2025-06-09 10:55:43 +02:00
commit 70d22b2be8
3 changed files with 72 additions and 44 deletions

View file

@ -1,4 +1,4 @@
[gd_resource type="Resource" script_class="BossPhase" load_steps=15 format=3 uid="uid://bu3a6hv5i1qam"]
[gd_resource type="Resource" script_class="BossPhase" load_steps=18 format=3 uid="uid://bu3a6hv5i1qam"]
[ext_resource type="Script" uid="uid://cdd6q2h0t1hhq" path="res://Scripts/Resources/BossPhase.cs" id="1_4trvi"]
[ext_resource type="Resource" uid="uid://djjp4nyufqxlp" path="res://Resources/Bullets/Boss/Reimu/Reimu_Card_Bullet_Red.tres" id="1_x3pjh"]
@ -8,6 +8,7 @@
[ext_resource type="Resource" uid="uid://t2tbu5bfge4b" path="res://Resources/Bullets/Boss/Reimu/Reimu_Card_Bullet_Blue.tres" id="5_8tj6w"]
[ext_resource type="Script" uid="uid://rqtkxuqmo7gi" path="res://Scripts/Resources/ScriptableBullets/ParallelPatternGroup.cs" id="5_vtvh5"]
[ext_resource type="Script" uid="uid://cq7pfooyqayc4" path="res://Scripts/Resources/Modifiers/DelayedSpeedModifier.cs" id="6_8tj6w"]
[ext_resource type="Script" uid="uid://bj3v4rlov86gw" path="res://Scripts/Resources/FSMMovementPattern.cs" id="7_8m6wu"]
[sub_resource type="Resource" id="Resource_0ug5q"]
script = ExtResource("6_8tj6w")
@ -42,31 +43,6 @@ TimeModifiers = Array[ExtResource("2_sai2e")]([SubResource("Resource_0ug5q")])
WaitForCompletion = true
metadata/_custom_type_script = "uid://c0ndqalsc4jve"
[sub_resource type="Resource" id="Resource_x3pjh"]
script = ExtResource("3_xjypu")
BulletResource = ExtResource("5_8tj6w")
EmitterOffset = Vector2(0, 0)
bulletCount = 4
rotationSpeed = 0.0
_rotationOffset = 0.0
duration = 4.0
spread = 360.0
burstInterval = 0.1
ShotsPerBurst = 4
BurstRate = 4.0
_targetPlayer = true
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("2_sai2e")]([])
WaitForCompletion = true
metadata/_custom_type_script = "uid://c0ndqalsc4jve"
[sub_resource type="Resource" id="Resource_nvh37"]
script = ExtResource("6_8tj6w")
TimeInSeconds = 0.01
@ -102,15 +78,58 @@ metadata/_custom_type_script = "uid://c0ndqalsc4jve"
[sub_resource type="Resource" id="Resource_8m6wu"]
script = ExtResource("5_vtvh5")
Duration = 10.0
Patterns = Array[ExtResource("1_xjypu")]([SubResource("Resource_8tj6w"), SubResource("Resource_x3pjh"), SubResource("Resource_x1u88")])
Duration = 2.0
Patterns = Array[ExtResource("1_xjypu")]([SubResource("Resource_8tj6w"), SubResource("Resource_x1u88")])
WaitForCompletion = true
metadata/_custom_type_script = "uid://rqtkxuqmo7gi"
[sub_resource type="Resource" id="Resource_vrrpx"]
script = ExtResource("7_8m6wu")
relativeTargetPosition = Vector2(-32, 0)
moveDuration = 2.0
transitionType = 4
easeType = 2
WaitForCompletion = true
metadata/_custom_type_script = "uid://bj3v4rlov86gw"
[sub_resource type="Resource" id="Resource_x3pjh"]
script = ExtResource("3_xjypu")
BulletResource = ExtResource("5_8tj6w")
EmitterOffset = Vector2(0, 0)
bulletCount = 4
rotationSpeed = 0.0
_rotationOffset = 0.0
duration = 2.0
spread = 360.0
burstInterval = 0.1
ShotsPerBurst = 4
BurstRate = 4.0
_targetPlayer = true
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("2_sai2e")]([])
WaitForCompletion = true
metadata/_custom_type_script = "uid://c0ndqalsc4jve"
[sub_resource type="Resource" id="Resource_vdysv"]
script = ExtResource("7_8m6wu")
relativeTargetPosition = Vector2(0, 0)
moveDuration = 2.0
transitionType = 0
easeType = 2
WaitForCompletion = true
metadata/_custom_type_script = "uid://bj3v4rlov86gw"
[resource]
script = ExtResource("1_4trvi")
PhaseName = ""
Threshold = 400
PlayAnimation = false
Patterns = Array[Object]([SubResource("Resource_8m6wu")])
Patterns = Array[Object]([SubResource("Resource_8m6wu"), SubResource("Resource_vrrpx"), SubResource("Resource_x3pjh"), SubResource("Resource_vdysv")])
metadata/_custom_type_script = "uid://cdd6q2h0t1hhq"

View file

@ -22,8 +22,8 @@ _name = "Intro"
[sub_resource type="Resource" id="Resource_cfhv5"]
script = ExtResource("1_ov731")
EggIndex = 0
StartingEquipment = []
RemoveEquipment = []
StartingEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
[sub_resource type="Resource" id="Resource_0k62o"]
script = ExtResource("2_tnajf")
@ -35,8 +35,8 @@ StartData = SubResource("Resource_cfhv5")
[sub_resource type="Resource" id="Resource_tpb7s"]
script = ExtResource("1_ov731")
EggIndex = 0
StartingEquipment = []
RemoveEquipment = []
StartingEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
[sub_resource type="Resource" id="Resource_edoov"]
script = ExtResource("2_tnajf")
@ -48,8 +48,8 @@ StartData = SubResource("Resource_tpb7s")
[sub_resource type="Resource" id="Resource_1sw5g"]
script = ExtResource("1_ov731")
EggIndex = 255
StartingEquipment = []
RemoveEquipment = []
StartingEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
[sub_resource type="Resource" id="Resource_47bot"]
script = ExtResource("2_tnajf")
@ -62,7 +62,7 @@ StartData = SubResource("Resource_1sw5g")
script = ExtResource("1_ov731")
EggIndex = 2
StartingEquipment = Array[ExtResource("2_bkci5")]([ExtResource("3_fydgr"), ExtResource("4_38yta"), ExtResource("5_em757"), ExtResource("6_sdmg8")])
RemoveEquipment = []
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
[sub_resource type="Resource" id="Resource_mgdm6"]
script = ExtResource("2_tnajf")
@ -80,8 +80,8 @@ _name = "Rebel Base"
[sub_resource type="Resource" id="Resource_maxpt"]
script = ExtResource("1_ov731")
EggIndex = 0
StartingEquipment = []
RemoveEquipment = []
StartingEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
[sub_resource type="Resource" id="Resource_pein5"]
script = ExtResource("2_tnajf")
@ -118,7 +118,7 @@ _name = "Default Scene"
script = ExtResource("1_ov731")
EggIndex = 0
StartingEquipment = Array[ExtResource("2_bkci5")]([ExtResource("7_b3oo5")])
RemoveEquipment = []
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
[sub_resource type="Resource" id="Resource_6ijnv"]
script = ExtResource("2_tnajf")
@ -137,8 +137,8 @@ metadata/_custom_type_script = "uid://dnthdjrx78u6m"
[sub_resource type="Resource" id="Resource_7sue8"]
script = ExtResource("1_ov731")
EggIndex = 255
StartingEquipment = []
RemoveEquipment = []
StartingEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
metadata/_custom_type_script = "uid://mja0rk7n2kln"
[sub_resource type="Resource" id="Resource_ognca"]
@ -152,8 +152,8 @@ metadata/_custom_type_script = "uid://dnthdjrx78u6m"
[sub_resource type="Resource" id="Resource_olpjo"]
script = ExtResource("1_ov731")
EggIndex = 0
StartingEquipment = []
RemoveEquipment = []
StartingEquipment = Array[ExtResource("2_bkci5")]([])
RemoveEquipment = Array[ExtResource("2_bkci5")]([])
metadata/_custom_type_script = "uid://mja0rk7n2kln"
[sub_resource type="Resource" id="Resource_nbnej"]

View file

@ -23,6 +23,8 @@ public partial class ParallelPatternGroup : AttackPattern
//private int _currentPatternIndex = 0;
//private AttackPattern CurrentPattern => patternGroup.Patterns[_currentPatternIndex];
private double _progressTimer = 0;
private List<IPatternMachine> _patternMachines = [];
@ -39,6 +41,7 @@ public partial class ParallelPatternGroup : AttackPattern
public void UpdatePattern(double delta)
{
_progressTimer += delta;
foreach (var patternMachine in _patternMachines)
{
//if (!CurrentPattern.WaitForCompletion || _patternMachine.IsComplete())
@ -50,7 +53,13 @@ public partial class ParallelPatternGroup : AttackPattern
public bool IsComplete()
{
return _patternMachines.TrueForAll(x => x.IsComplete());
if (patternGroup.WaitForCompletion)
{
return _patternMachines.TrueForAll(x => x.IsComplete()) && _progressTimer >= patternGroup.Duration;
}
return _patternMachines.TrueForAll(x => x.IsComplete()) || _progressTimer >= patternGroup.Duration;
}
}