Basic boss patterns

This commit is contained in:
Marco 2025-04-29 16:10:17 +02:00
commit d5eda3c7b4
15 changed files with 387 additions and 64 deletions

View file

@ -0,0 +1,145 @@
[gd_resource type="Resource" script_class="BossPhase" load_steps=14 format=3 uid="uid://go6rfnglefe8"]
[ext_resource type="Resource" uid="uid://bpc2kyft8q2qq" path="res://Resources/Bullets/simple_enemy_bullet_big.tres" id="1_favpk"]
[ext_resource type="Script" uid="uid://b5s5mjuk1rng5" path="res://Scripts/Resources/TimeModifier.cs" id="2_36ba4"]
[ext_resource type="Script" uid="uid://c0ndqalsc4jve" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="3_agmbo"]
[ext_resource type="PackedScene" uid="uid://dohakkayqj4w2" path="res://Scenes/Weapons/Bullets/enemyBullet_green.tscn" id="4_agmbo"]
[ext_resource type="Script" uid="uid://cdd6q2h0t1hhq" path="res://Scripts/Resources/BossPhase.cs" id="4_tppsm"]
[ext_resource type="Script" uid="uid://dslyrfcej3g2n" path="res://Scripts/Resources/BulletResource.cs" id="5_tppsm"]
[ext_resource type="PackedScene" uid="uid://ck6f08w1fy5fa" path="res://Scenes/Weapons/Bullets/enemyBullet_rice_yellow.tscn" id="6_tppsm"]
[sub_resource type="Resource" id="Resource_n7vdy"]
script = ExtResource("3_agmbo")
BulletResource = ExtResource("1_favpk")
bulletCount = 16
rotationSpeed = 15.0
_rotationOffset = 0.0
duration = 0.5
spread = 360.0
burstInterval = 0.1
ShotsPerBurst = 4
BurstRate = 2.0
_targetPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("2_36ba4")]([])
WaitForCompletion = true
metadata/_custom_type_script = "uid://c0ndqalsc4jve"
[sub_resource type="Resource" id="Resource_du806"]
script = ExtResource("5_tppsm")
BulletScene = ExtResource("4_agmbo")
BulletSpeed = 60.0
Direction = Vector2(1, 0)
BulletDamage = 12.0
LifeTime = 10.0
DestroyOnCollision = true
Owner = 2
DamageType = 0
RotateSprite = false
Controllable = false
Freezable = true
Grazeable = true
GrazeValue = 1.0
TimeModifiers = []
metadata/_custom_type_script = "uid://dslyrfcej3g2n"
[sub_resource type="Resource" id="Resource_hmrwn"]
script = ExtResource("3_agmbo")
BulletResource = SubResource("Resource_du806")
bulletCount = 8
rotationSpeed = 0.0
_rotationOffset = -90.0
duration = 2.0
spread = 128.0
burstInterval = 0.2
ShotsPerBurst = 4
BurstRate = 0.0
_targetPlayer = true
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("2_36ba4")]([])
WaitForCompletion = true
metadata/_custom_type_script = "uid://c0ndqalsc4jve"
[sub_resource type="Resource" id="Resource_tppsm"]
script = ExtResource("3_agmbo")
BulletResource = ExtResource("1_favpk")
bulletCount = 16
rotationSpeed = -15.0
_rotationOffset = 0.0
duration = 0.5
spread = 360.0
burstInterval = 0.1
ShotsPerBurst = 4
BurstRate = 2.0
_targetPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("2_36ba4")]([])
WaitForCompletion = true
metadata/_custom_type_script = "uid://c0ndqalsc4jve"
[sub_resource type="Resource" id="Resource_qhi1m"]
script = ExtResource("5_tppsm")
BulletScene = ExtResource("6_tppsm")
BulletSpeed = 80.0
Direction = Vector2(1, 0)
BulletDamage = 12.0
LifeTime = 10.0
DestroyOnCollision = true
Owner = 2
DamageType = 0
RotateSprite = true
Controllable = false
Freezable = true
Grazeable = true
GrazeValue = 1.0
TimeModifiers = null
metadata/_custom_type_script = "uid://dslyrfcej3g2n"
[sub_resource type="Resource" id="Resource_we0cr"]
script = ExtResource("3_agmbo")
BulletResource = SubResource("Resource_qhi1m")
bulletCount = 1
rotationSpeed = 0.0
_rotationOffset = 0.0
duration = 2.0
spread = 360.0
burstInterval = 0.2
ShotsPerBurst = 8
BurstRate = 1.0
_targetPlayer = true
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("2_36ba4")]([])
WaitForCompletion = true
metadata/_custom_type_script = "uid://c0ndqalsc4jve"
[resource]
script = ExtResource("4_tppsm")
PhaseName = "Asdf"
Threshold = 0
PlayAnimation = false
Patterns = Array[Object]([SubResource("Resource_n7vdy"), SubResource("Resource_hmrwn"), SubResource("Resource_tppsm"), SubResource("Resource_we0cr")])
metadata/_custom_type_script = "uid://cdd6q2h0t1hhq"

View file

@ -0,0 +1,11 @@
[gd_resource type="Resource" script_class="BossScript" load_steps=4 format=3 uid="uid://umimlgb0hs7k"]
[ext_resource type="Script" uid="uid://cdd6q2h0t1hhq" path="res://Scripts/Resources/BossPhase.cs" id="1_2i700"]
[ext_resource type="Resource" uid="uid://go6rfnglefe8" path="res://Resources/BossPhases/Roguelite/Roguelite_Boss_1.tres" id="2_bv4fb"]
[ext_resource type="Script" uid="uid://inasa76li3ym" path="res://Scripts/Resources/ScriptableBullets/BossScript.cs" id="3_hj6ge"]
[resource]
script = ExtResource("3_hj6ge")
BossName = &"Test"
Phases = Array[ExtResource("1_2i700")]([ExtResource("2_bv4fb")])
metadata/_custom_type_script = "uid://inasa76li3ym"

View file

@ -58,7 +58,7 @@ metadata/_custom_type_script = "uid://rgx0g5iqksnn"
[sub_resource type="Resource" id="Resource_tsgja"]
script = ExtResource("11_eegnh")
Items = Array[Object]([ExtResource("1_ae3bb"), ExtResource("2_p3lfl"), ExtResource("3_tsgja"), ExtResource("4_qo6vk"), ExtResource("5_ga54h"), ExtResource("6_cxv74"), ExtResource("7_f7mru"), ExtResource("8_3kwn2"), ExtResource("9_to7mi"), ExtResource("10_w335g")])
Items = Array[Object]([ExtResource("1_ae3bb"), ExtResource("6_cxv74"), ExtResource("7_f7mru"), ExtResource("8_3kwn2"), ExtResource("9_to7mi"), ExtResource("10_w335g")])
metadata/_custom_type_script = "uid://rgx0g5iqksnn"
[sub_resource type="Resource" id="Resource_11cll"]

View file

@ -0,0 +1,98 @@
[gd_resource type="SpriteFrames" load_steps=9 format=3 uid="uid://crpuifbo5c7fd"]
[ext_resource type="Texture2D" uid="uid://xhwfgbv0fjbr" path="res://Sprites/Actors/FairyGuard.png" id="1_eijki"]
[ext_resource type="Texture2D" uid="uid://p6cs703f5m3n" path="res://ExternalMaterial/RoboBoss/RoboBoss.png" id="2_c65c5"]
[sub_resource type="AtlasTexture" id="AtlasTexture_em6qg"]
atlas = ExtResource("1_eijki")
region = Rect2(0, 64, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_klwxr"]
atlas = ExtResource("1_eijki")
region = Rect2(16, 64, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_hakkv"]
atlas = ExtResource("2_c65c5")
region = Rect2(0, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_c65c5"]
atlas = ExtResource("2_c65c5")
region = Rect2(128, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_xmlxq"]
atlas = ExtResource("2_c65c5")
region = Rect2(384, 0, 64, 64)
[sub_resource type="AtlasTexture" id="AtlasTexture_68q7p"]
atlas = ExtResource("2_c65c5")
region = Rect2(256, 0, 64, 64)
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_em6qg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_klwxr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_em6qg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_em6qg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_em6qg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_em6qg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_em6qg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_em6qg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_em6qg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_em6qg")
}],
"loop": true,
"name": &"dead",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_hakkv")
}],
"loop": true,
"name": &"down",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_c65c5")
}],
"loop": true,
"name": &"left",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_xmlxq")
}],
"loop": true,
"name": &"right",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_68q7p")
}],
"loop": true,
"name": &"up",
"speed": 5.0
}]