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

@ -1,4 +1,4 @@
[gd_scene load_steps=46 format=3 uid="uid://dt7i3x3g5ktbl"]
[gd_scene load_steps=39 format=3 uid="uid://dt7i3x3g5ktbl"]
[ext_resource type="Script" uid="uid://bi2edpdosngll" path="res://Scripts/Components/FSM/Enemy/EnemyFSMProxy.cs" id="1_krhq1"]
[ext_resource type="Resource" uid="uid://ng3lpe8ifbsn" path="res://Resources/Enemies/Boss_1.tres" id="2_u32k8"]
@ -8,21 +8,17 @@
[ext_resource type="Script" uid="uid://dbmc3klko5x18" path="res://Scripts/Components/FSM/Enemy/Alert.cs" id="6_u32k8"]
[ext_resource type="Script" uid="uid://difn6d5np1pui" path="res://Scripts/Components/FSM/Boss/Shooting.cs" id="7_u32k8"]
[ext_resource type="Script" uid="uid://4hwtlc1ftjsc" path="res://Scripts/Components/FSM/Enemy/Dead.cs" id="8_3n0dy"]
[ext_resource type="Resource" uid="uid://bpc2kyft8q2qq" path="res://Resources/Bullets/simple_enemy_bullet_big.tres" id="8_xcri6"]
[ext_resource type="Script" uid="uid://b5s5mjuk1rng5" path="res://Scripts/Resources/TimeModifier.cs" id="9_3n0dy"]
[ext_resource type="Resource" uid="uid://umimlgb0hs7k" path="res://Resources/BossPhases/Roguelite/Roguelite_Boss_1_Script.tres" id="8_q8sxg"]
[ext_resource type="Script" uid="uid://dj37rup1ibnn6" path="res://Scripts/Components/FSM/Enemy/Controlled.cs" id="9_d5ed4"]
[ext_resource type="Script" uid="uid://c0ndqalsc4jve" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="10_d5ed4"]
[ext_resource type="SpriteFrames" uid="uid://ch2ll1on8im2p" path="res://Resources/Sprites/FairyGuard.tres" id="10_v2gvi"]
[ext_resource type="Script" uid="uid://mb4ugq74a17c" path="res://Scripts/Components/FSM/Enemy/PlayerDetectionModule.cs" id="11_qrag5"]
[ext_resource type="Script" uid="uid://cdd6q2h0t1hhq" path="res://Scripts/Resources/BossPhase.cs" id="11_v2gvi"]
[ext_resource type="Script" uid="uid://bflvr26h52c55" path="res://Scripts/Components/FSM/Enemy/EnemyStorageModule.cs" id="12_n7vdy"]
[ext_resource type="Script" uid="uid://inasa76li3ym" path="res://Scripts/Resources/ScriptableBullets/BossScript.cs" id="12_qrag5"]
[ext_resource type="Script" uid="uid://c6467d6yx50qh" path="res://Scripts/Components/BulletSpawner.cs" id="13_3n0dy"]
[ext_resource type="Script" uid="uid://cq3hkweplldbr" path="res://Scripts/Components/Actors/GenericDamageReceiver.cs" id="13_uiuc5"]
[ext_resource type="PackedScene" uid="uid://cuixq5ex0j40h" path="res://Scenes/enemyBullet.tscn" id="14_d5ed4"]
[ext_resource type="PackedScene" uid="uid://cm564ue740cpx" path="res://Scenes/Actors/DeadFairyGuard.tscn" id="14_k00rh"]
[ext_resource type="Script" uid="uid://cqwvssstkrdmw" path="res://Scripts/Components/Actors/ActorResourceProvider.cs" id="15_fumcm"]
[ext_resource type="Script" uid="uid://ik7s65de723k" path="res://Scripts/Components/FSM/Enemy/NavigationMovementModule.cs" id="16_v7pqc"]
[ext_resource type="SpriteFrames" uid="uid://crpuifbo5c7fd" path="res://Resources/Sprites/RoboBoss.tres" id="17_3n0dy"]
[ext_resource type="PackedScene" uid="uid://cj63k0dmk7tl1" path="res://Scenes/Weapons/enemy_weapon_base.tscn" id="17_o816w"]
[ext_resource type="Resource" uid="uid://csdlihliv4cr8" path="res://Resources/Weapons/EnemyWeapon_simple.tres" id="18_jdgrw"]
[ext_resource type="Script" uid="uid://dhsqsajq537qn" path="res://Scripts/Components/FSM/Enemy/EnemyAlarmModule.cs" id="19_ka71q"]
@ -36,49 +32,13 @@
[ext_resource type="Texture2D" uid="uid://cf2855sd3hqty" path="res://Sprites/Actors/Aiming_Reticule_Small.png" id="27_8kytv"]
[sub_resource type="CircleShape2D" id="CircleShape2D_pnkma"]
[sub_resource type="Resource" id="Resource_n7vdy"]
script = ExtResource("10_d5ed4")
BulletResource = ExtResource("8_xcri6")
bulletCount = 16
rotationSpeed = 0.0
_rotationOffset = 0.0
duration = 5.0
spread = 360.0
burstInterval = 0.5
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("9_3n0dy")]([])
WaitForCompletion = true
metadata/_custom_type_script = "uid://c0ndqalsc4jve"
[sub_resource type="Resource" id="Resource_uiuc5"]
script = ExtResource("11_v2gvi")
PhaseName = "Asdf"
Threshold = 0
PlayAnimation = false
Patterns = Array[Object]([SubResource("Resource_n7vdy")])
metadata/_custom_type_script = "uid://cdd6q2h0t1hhq"
[sub_resource type="Resource" id="Resource_k00rh"]
script = ExtResource("12_qrag5")
BossName = &"Test"
Phases = Array[ExtResource("11_v2gvi")]([SubResource("Resource_uiuc5")])
metadata/_custom_type_script = "uid://inasa76li3ym"
radius = 23.0217
[sub_resource type="CircleShape2D" id="CircleShape2D_5wstg"]
radius = 29.0
radius = 92.0054
[sub_resource type="CircleShape2D" id="CircleShape2D_6x22m"]
radius = 5.0
radius = 24.0156
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_poxpj"]
particle_flag_disable_z = true
@ -156,7 +116,7 @@ script = ExtResource("7_u32k8")
DamageReceiver = NodePath("../../DamageReceiver")
EquippedWeapon = NodePath("../../EnemyWeapon")
StorageModule = NodePath("../../Storage")
BossScript = SubResource("Resource_k00rh")
BossScript = ExtResource("8_q8sxg")
_moduleNodes = [NodePath("../../AnimationModule")]
[node name="BulletSpawner" type="Node2D" parent="StateMachine/Shooting"]
@ -178,10 +138,11 @@ EquippedWeapon = NodePath("../../EnemyWeapon")
_moduleNodes = [NodePath("../../AnimationModule")]
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
sprite_frames = ExtResource("10_v2gvi")
animation = &"right"
sprite_frames = ExtResource("17_3n0dy")
animation = &"down"
[node name="PlayerDetection" type="Area2D" parent="."]
visible = false
collision_layer = 0
collision_mask = 2
script = ExtResource("11_qrag5")
@ -263,6 +224,7 @@ sprite_frames = SubResource("SpriteFrames_wafqr")
script = ExtResource("25_8rqch")
[node name="CrosshairProvider" type="Node2D" parent="." node_paths=PackedStringArray("AnimatedSprite")]
visible = false
script = ExtResource("26_q2yik")
AnimatedSprite = NodePath("Crosshair")
CrosshairDistance = 35.0

View file

@ -15,10 +15,11 @@
[sub_resource type="RectangleShape2D" id="RectangleShape2D_u3c1h"]
size = Vector2(272, 85)
[node name="Tilemaps" type="Node2D"]
[node name="Tilemaps" type="Node2D" node_paths=PackedStringArray("RoomClearActivation")]
process_mode = 1
script = ExtResource("1_vhsym")
RoomResource = ExtResource("2_vhsym")
RoomClearActivation = []
metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn"
[node name="Floor" type="TileMapLayer" parent="." node_paths=PackedStringArray("_solidLayers") groups=["Solid"]]

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=15 format=4 uid="uid://b7oa5icmcetwj"]
[gd_scene load_steps=16 format=4 uid="uid://b7oa5icmcetwj"]
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_84eqy"]
[ext_resource type="Resource" uid="uid://b8lpo4im87rx7" path="res://Resources/RogueliteMaps/Long_Factory.tres" id="2_k6121"]
@ -8,6 +8,7 @@
[ext_resource type="PackedScene" uid="uid://dcbcyp1qogcl0" path="res://Scenes/Props/BigTankHorizontal.tscn" id="6_rse1i"]
[ext_resource type="Script" uid="uid://8umfjejbkcsm" path="res://Scripts/Actors/RogueliteEnemySpawner.cs" id="6_x05mq"]
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="7_agp2x"]
[ext_resource type="PackedScene" uid="uid://dux8pv1y8wkt0" path="res://Scenes/Props/Capacitor.tscn" id="7_jw5yi"]
[ext_resource type="Resource" uid="uid://cqfyuurvqb8m6" path="res://Resources/Enemies/Base_Fairy_Special.tres" id="8_agp2x"]
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="10_3vkr4"]
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="11_oc0wb"]
@ -66,6 +67,12 @@ position = Vector2(31, 49)
[node name="BigTankHorizontal2" parent="Tilemaps/Actors" instance=ExtResource("6_rse1i")]
position = Vector2(65, 48)
[node name="Capacitor" parent="Tilemaps/Actors" node_paths=PackedStringArray("Target") instance=ExtResource("7_jw5yi")]
position = Vector2(296, 55)
Health = 6.0
ActivationType = 2
Target = NodePath("../HorizontalForceField")
[node name="EnemySpawners" type="Node2D" parent="."]
[node name="RogueliteEnemySpawner4" type="Marker2D" parent="EnemySpawners"]