From f2d11a495fe138562a62a2d9af8a8f50403eb5d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=A8=E8=90=BD=E5=9F=BA=E5=9B=B4=E8=99=BE?= <3161880837@qq.com> Date: Tue, 30 Sep 2025 18:44:15 +0800 Subject: [PATCH] =?UTF-8?q?fix(boss):=20=E8=B0=83=E6=95=B4=E7=86=8Aboss?= =?UTF-8?q?=E7=9A=84=E6=94=BB=E5=87=BB=E4=BC=A4=E5=AE=B3=E5=92=8C=E9=98=B6?= =?UTF-8?q?=E6=AE=B5=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 降低熊boss所有攻击技能的伤害值,并重新设计阶段属性 调整ArrowSeven子弹的材质和位置 添加1%概率直接进入阶段2的机制 --- components/Bullets/ArrowSeven.tscn | 11 ++++++----- .../Bullets/BossAttack/Bear/ArrowSeven.gd | 3 +-- .../Bullets/BossAttack/Bear/ForeverRainbow.gd | 2 +- .../Contents/Bullets/BossAttack/Bear/LightGun.gd | 2 +- .../Contents/Bullets/BossAttack/Bear/SunDance.gd | 2 +- scripts/Contents/Characters/Bear.gd | 16 +++++++++++++--- 6 files changed, 23 insertions(+), 13 deletions(-) diff --git a/components/Bullets/ArrowSeven.tscn b/components/Bullets/ArrowSeven.tscn index 24b3cb4..b6d517a 100644 --- a/components/Bullets/ArrowSeven.tscn +++ b/components/Bullets/ArrowSeven.tscn @@ -17,6 +17,7 @@ gradient = SubResource("Gradient_wd04q") [sub_resource type="ShaderMaterial" id="ShaderMaterial_1nfgk"] shader = ExtResource("3_j0g0m") shader_parameter/color = Color(1, 1, 1, 1) +shader_parameter/mixProgress = 0.5 [sub_resource type="SpriteFrames" id="SpriteFrames_q4xus"] animations = [{ @@ -78,15 +79,16 @@ _data = { "spawn": SubResource("Animation_kmogx") } -[sub_resource type="ShaderMaterial" id="ShaderMaterial_7e3fr"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_k643k"] shader = ExtResource("5_lyybq") shader_parameter/k = -0.223 shader_parameter/color = Color(1, 1, 1, 1) shader_parameter/scale = 10.0 -[sub_resource type="ShaderMaterial" id="ShaderMaterial_w3sk0"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_0bv2k"] shader = ExtResource("3_j0g0m") shader_parameter/color = Color(1, 1, 1, 1) +shader_parameter/mixProgress = 0.5 [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_yjmap"] radius = 5.0 @@ -120,7 +122,6 @@ alpha_curve = SubResource("CurveTexture_wjo54") [node name="ArrowSeven" instance=ExtResource("1_dvf35")] z_index = 1 -position = Vector2(-34, -24) script = ExtResource("2_uqsop") allColor = SubResource("GradientTexture1D_e0qv5") displayName = "七彩矢" @@ -139,13 +140,13 @@ libraries = { [node name="superlight" type="Node2D" parent="texture" index="1"] unique_name_in_owner = true z_index = -1 -material = SubResource("ShaderMaterial_7e3fr") +material = SubResource("ShaderMaterial_k643k") script = ExtResource("5_ppdpf") size = Vector2(100, 200) [node name="frontlight" type="Node2D" parent="texture" index="2"] unique_name_in_owner = true -material = SubResource("ShaderMaterial_w3sk0") +material = SubResource("ShaderMaterial_0bv2k") scale = Vector2(0.968786, 0.968786) script = ExtResource("5_ppdpf") size = Vector2(40, 40) diff --git a/scripts/Contents/Bullets/BossAttack/Bear/ArrowSeven.gd b/scripts/Contents/Bullets/BossAttack/Bear/ArrowSeven.gd index d6423b6..7a217b2 100644 --- a/scripts/Contents/Bullets/BossAttack/Bear/ArrowSeven.gd +++ b/scripts/Contents/Bullets/BossAttack/Bear/ArrowSeven.gd @@ -13,8 +13,7 @@ var forwarded: bool = false func register(): speed = 1 - damage = 5 - penerate = 1 + damage = 2 func spawn(): myColor = allColor.gradient.sample(randf()) superlight.material = superlight.material.duplicate() diff --git a/scripts/Contents/Bullets/BossAttack/Bear/ForeverRainbow.gd b/scripts/Contents/Bullets/BossAttack/Bear/ForeverRainbow.gd index bee8b55..94bccd9 100644 --- a/scripts/Contents/Bullets/BossAttack/Bear/ForeverRainbow.gd +++ b/scripts/Contents/Bullets/BossAttack/Bear/ForeverRainbow.gd @@ -5,7 +5,7 @@ extends BulletBase var myColor: Color func register(): - damage = 15 + damage = 3 penerate = 1 func spawn(): myColor = allColor.gradient.sample(randf()) diff --git a/scripts/Contents/Bullets/BossAttack/Bear/LightGun.gd b/scripts/Contents/Bullets/BossAttack/Bear/LightGun.gd index 61e176f..4d795f7 100644 --- a/scripts/Contents/Bullets/BossAttack/Bear/LightGun.gd +++ b/scripts/Contents/Bullets/BossAttack/Bear/LightGun.gd @@ -10,7 +10,7 @@ extends BulletBase var myColor: Color func register(): speed = 1 - damage = 5 + damage = 1.5 penerate = 1 func spawn(): myColor = allColor.gradient.sample(randf()) diff --git a/scripts/Contents/Bullets/BossAttack/Bear/SunDance.gd b/scripts/Contents/Bullets/BossAttack/Bear/SunDance.gd index 8eb4758..4670558 100644 --- a/scripts/Contents/Bullets/BossAttack/Bear/SunDance.gd +++ b/scripts/Contents/Bullets/BossAttack/Bear/SunDance.gd @@ -11,7 +11,7 @@ var myColor: Color func register(): speed = 0 - damage = 10 + damage = 4 penerate = 1 func spawn(): myColor = allColor.gradient.sample(randf()) diff --git a/scripts/Contents/Characters/Bear.gd b/scripts/Contents/Characters/Bear.gd index c958e7f..13438a0 100644 --- a/scripts/Contents/Characters/Bear.gd +++ b/scripts/Contents/Characters/Bear.gd @@ -23,15 +23,25 @@ func register(): func spawn(): texture.play("walk") mask.visible = false + if MathTool.rate(0.01): + setStage(2) func ai(): PresetEntityAI.follow(self, currentFocusedBoss, 400) for i in len(attackCooldownMap.keys()): tryAttack(i) func enterStage(stage): mask.visible = !!stage - fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.75 - fields[FieldStore.Entity.DAMAGE_MULTIPILER] = 1.5 - fields[FieldStore.Entity.ATTACK_SPEED] = 2 + if stage == 0: + fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.5 + fields[FieldStore.Entity.DAMAGE_MULTIPILER] = 1 + fields[FieldStore.Entity.ATTACK_SPEED] = 1 + elif stage == 1: + fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.6 + fields[FieldStore.Entity.DAMAGE_MULTIPILER] = 1.15 + fields[FieldStore.Entity.ATTACK_SPEED] = 1.15 + elif stage == 2: + fields[FieldStore.Entity.MOVEMENT_SPEED] = 0.25 + fields[FieldStore.Entity.DAMAGE_MULTIPILER] = 9999 await TickTool.millseconds(2000) func attack(type): var weaponPos = findWeaponAnchor("normal")