3D Boss scripts implementation

This commit is contained in:
Marco 2025-06-30 17:28:19 +02:00
commit dbf7f1a963
29 changed files with 1805 additions and 1188 deletions

View file

@ -0,0 +1,72 @@
[gd_resource type="Resource" script_class="BossScript" load_steps=13 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="Script" uid="uid://inasa76li3ym" path="res://Scripts/Resources/ScriptableBullets/BossScript.cs" id="2_t8f0y"]
[ext_resource type="Script" uid="uid://b5s5mjuk1rng5" path="res://Scripts/Resources/TimeModifier.cs" id="3_mi6hp"]
[ext_resource type="Resource" uid="uid://dl3nq7odtrnum" path="res://Resources/Bullets/Boss/Rumia/Rumia_Red_Chase_Bullet_3D.tres" id="3_xfnue"]
[ext_resource type="Script" uid="uid://bxiprx5nwmpnu" path="res://Scripts/AttackPatterns/ShootingPattern3D.cs" id="4_xfnue"]
[ext_resource type="Script" uid="uid://cg7gi3tva4gvw" path="res://Scripts/AttackPatterns/WaitPattern.cs" id="6_xfnue"]
[sub_resource type="Resource" id="Resource_xfnue"]
script = ExtResource("2_mi6hp")
relativeTargetPosition = Vector2(-1, 0)
moveDuration = 1.0
transitionType = 0
easeType = 2
WaitForCompletion = false
metadata/_custom_type_script = "uid://fo8sf11p058s"
[sub_resource type="Resource" id="Resource_231tu"]
script = ExtResource("4_xfnue")
BulletResource = ExtResource("3_xfnue")
EmitterOffset = Vector3(0, 0, 0)
bulletCount = 10
rotationSpeed = 0.0
_rotationOffset = 0.0
duration = 2.0
spread = 0.0
burstInterval = 0.3
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = true
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("3_mi6hp")]([])
WaitForCompletion = true
metadata/_custom_type_script = "uid://bxiprx5nwmpnu"
[sub_resource type="Resource" id="Resource_lrsat"]
script = ExtResource("2_mi6hp")
relativeTargetPosition = Vector2(0, 0)
moveDuration = 1.0
transitionType = 0
easeType = 2
WaitForCompletion = true
metadata/_custom_type_script = "uid://fo8sf11p058s"
[sub_resource type="Resource" id="Resource_0t311"]
script = ExtResource("6_xfnue")
SecondsToWait = 10.0
WaitForCompletion = true
metadata/_custom_type_script = "uid://cg7gi3tva4gvw"
[sub_resource type="Resource" id="Resource_l0s11"]
script = ExtResource("1_k3wbt")
PhaseName = ""
Threshold = 0
PlayAnimation = false
Patterns = Array[Object]([SubResource("Resource_xfnue"), SubResource("Resource_231tu"), SubResource("Resource_lrsat"), SubResource("Resource_0t311")])
metadata/_custom_type_script = "uid://cdd6q2h0t1hhq"
[resource]
script = ExtResource("2_t8f0y")
BossName = &"Rumia"
Phases = Array[ExtResource("1_k3wbt")]([SubResource("Resource_l0s11")])
metadata/_custom_type_script = "uid://inasa76li3ym"

View file

@ -0,0 +1,38 @@
[gd_resource type="Resource" script_class="BulletResource" load_steps=7 format=3 uid="uid://dl3nq7odtrnum"]
[ext_resource type="PackedScene" uid="uid://d28e1t2c0lwbp" path="res://Scenes/Weapons/base_enemy_bullet_3D.tscn" id="1_2ooja"]
[ext_resource type="Script" uid="uid://b6h8slfcd5suh" path="res://Scripts/Resources/DecreasingSpeedModifier.cs" id="2_hgq8i"]
[ext_resource type="Script" uid="uid://c6kkaq6j4thug" path="res://Scripts/Resources/Modifiers/DelayedPlayerFacingModifier.cs" id="3_eppnc"]
[ext_resource type="Script" uid="uid://dslyrfcej3g2n" path="res://Scripts/Resources/BulletResource.cs" id="4_2o0fq"]
[sub_resource type="Resource" id="Resource_jeq72"]
script = ExtResource("2_hgq8i")
decreaseRate = 0.2
[sub_resource type="Resource" id="Resource_edsop"]
script = ExtResource("3_eppnc")
TimeInSeconds = 0.0
ModifierType = 2
Value = 0.0
Continuous = false
[resource]
script = ExtResource("4_2o0fq")
BulletScene = ExtResource("1_2ooja")
BulletSpeed = 4.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")
TimeModifiers = Array[Object]([SubResource("Resource_edsop")])

View file

@ -0,0 +1,71 @@
[gd_resource type="Resource" script_class="EnemyResource" load_steps=18 format=3 uid="uid://bmgnelk21apt6"]
[ext_resource type="SpriteFrames" uid="uid://ch2ll1on8im2p" path="res://Resources/Sprites/FairyGuard.tres" id="1_jhiim"]
[ext_resource type="Resource" uid="uid://1u4y6hvc318e" path="res://Resources/BossPhases/Rumia_Boss_Script_3D.tres" id="2_2p3bo"]
[ext_resource type="Texture2D" uid="uid://bbdrws471xslc" path="res://Sprites/Actors/Rumia-world.png" id="2_jhiim"]
[ext_resource type="Script" uid="uid://cq65aed620ijo" path="res://Scripts/Resources/Loot/LootDrop.cs" id="3_lo74v"]
[ext_resource type="Resource" uid="uid://ct1fa2huvy34n" path="res://Resources/Items/Ammo1.tres" id="4_n525f"]
[ext_resource type="Resource" uid="uid://dy53gia1tmkah" path="res://Resources/Items/Points_Pickup.tres" id="5_k51wg"]
[ext_resource type="Resource" uid="uid://bhbufxodybsw4" path="res://Resources/Items/Shield_Pickup.tres" id="6_707vn"]
[ext_resource type="Resource" uid="uid://dodwpect0ldjf" path="res://Resources/Items/Heart_Pickup.tres" id="7_8myk5"]
[ext_resource type="Resource" uid="uid://clr1gln7nxa1o" path="res://Resources/Items/Power_Pickup.tres" id="8_cytb0"]
[ext_resource type="Resource" uid="uid://c6ywv08e6is5o" path="res://Resources/Weapons/EnemyWeapon_Big_3D.tres" id="9_80fxw"]
[ext_resource type="Script" uid="uid://cd5o0ceb50jki" path="res://Scripts/Resources/EnemyResource.cs" id="10_wrko3"]
[sub_resource type="AtlasTexture" id="AtlasTexture_n54y5"]
atlas = ExtResource("2_jhiim")
region = Rect2(0, 0, 8, 16)
[sub_resource type="Resource" id="Resource_c8nix"]
script = ExtResource("3_lo74v")
Item = ExtResource("4_n525f")
Chance = 40.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_gs2l3"]
script = ExtResource("3_lo74v")
Item = ExtResource("5_k51wg")
Chance = 10.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_sqnvg"]
script = ExtResource("3_lo74v")
Item = ExtResource("6_707vn")
Chance = 5.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_5tyar"]
script = ExtResource("3_lo74v")
Item = ExtResource("7_8myk5")
Chance = 5.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_48xq6"]
script = ExtResource("3_lo74v")
Item = ExtResource("8_cytb0")
Chance = 6.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[resource]
script = ExtResource("10_wrko3")
EnemyName = &"Rumia"
EnemyKey = &"RUMIA"
PrefabPath = &"uid://cboj3aamnco2r"
MaxHealth = 900.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")])
MotivationReward = 4.0
PredictPlayer = false
PlayerDetectionRange = 4.0
ViewRange = 5.0
AlarmReactRange = 8.0
PlayerDisengageRange = 10.0
StrafeSpeed = 1.5
MaxStrafeDistance = 1.0
MinStrafeDistance = 0.2
ResponseTime = 0.5
IconSprite = SubResource("AtlasTexture_n54y5")
AnimationFrames = ExtResource("1_jhiim")
BossScript = ExtResource("2_2p3bo")
metadata/_custom_type_script = "uid://cd5o0ceb50jki"