From 8a1a2c54eef461cd635e7fa4bd62d945cea40d78 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: Sun, 14 Sep 2025 13:57:53 +0800 Subject: [PATCH] =?UTF-8?q?refactor(Characters):=20=E7=A7=BB=E9=99=A4Furry?= =?UTF-8?q?R=E8=A7=92=E8=89=B2=E5=B9=B6=E5=A2=9E=E5=BC=BAKukeMC=E8=83=BD?= =?UTF-8?q?=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除未使用的FurryR角色相关文件 增强KukeMC的攻击能力,增加紫色水晶子弹攻击 调整KukeMC的碰撞检测范围并优化状态栏位置 注释掉测试波次中的无关角色 --- components/Characters/FurryR.tscn | 6 ------ components/Characters/KukeMC.tscn | 11 ++++++++++- scripts/Contents/Characters/FurryR.gd | 6 ------ scripts/Contents/Characters/KukeMC.gd | 9 ++++++++- scripts/Contents/Wave.gd | 4 ++-- 5 files changed, 20 insertions(+), 16 deletions(-) delete mode 100644 components/Characters/FurryR.tscn delete mode 100644 scripts/Contents/Characters/FurryR.gd diff --git a/components/Characters/FurryR.tscn b/components/Characters/FurryR.tscn deleted file mode 100644 index 07e2200..0000000 --- a/components/Characters/FurryR.tscn +++ /dev/null @@ -1,6 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://ci4aho82dk58h"] - -[ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_odk26"] - -[node name="FurryR" instance=ExtResource("1_odk26")] -displayName = "熊谷凌" diff --git a/components/Characters/KukeMC.tscn b/components/Characters/KukeMC.tscn index ed9d7f2..324a250 100644 --- a/components/Characters/KukeMC.tscn +++ b/components/Characters/KukeMC.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=5 format=3 uid="uid://d4lfjwy0hkidu"] +[gd_scene load_steps=6 format=3 uid="uid://d4lfjwy0hkidu"] [ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_r4q7y"] [ext_resource type="Texture2D" uid="uid://c1jhrutky8pya" path="res://resources/characters/kukemc/avatar.webp" id="2_422pv"] @@ -23,6 +23,9 @@ animations = [{ "speed": 5.0 }] +[sub_resource type="RectangleShape2D" id="RectangleShape2D_farlp"] +size = Vector2(150, 150) + [node name="KukeMC" instance=ExtResource("1_r4q7y")] script = ExtResource("2_s2dg5") displayName = "酷可mc" @@ -30,3 +33,9 @@ displayName = "酷可mc" [node name="texture" parent="." index="2"] sprite_frames = SubResource("SpriteFrames_1c0ui") animation = &"walk" + +[node name="hitbox" parent="texture/hurtbox" index="0"] +shape = SubResource("RectangleShape2D_farlp") + +[node name="statebar" parent="." index="3"] +position = Vector2(0, -140) diff --git a/scripts/Contents/Characters/FurryR.gd b/scripts/Contents/Characters/FurryR.gd deleted file mode 100644 index 4dd839a..0000000 --- a/scripts/Contents/Characters/FurryR.gd +++ /dev/null @@ -1,6 +0,0 @@ -extends EntityBase -class_name FurryR - -func register(): - fields[FieldStore.Entity.MAX_HEALTH] *= 0.05 - fields[FieldStore.Entity.DAMAGE_MULTIPILER] = 999.0 diff --git a/scripts/Contents/Characters/KukeMC.gd b/scripts/Contents/Characters/KukeMC.gd index 36e8af8..901848e 100644 --- a/scripts/Contents/Characters/KukeMC.gd +++ b/scripts/Contents/Characters/KukeMC.gd @@ -2,10 +2,17 @@ extends EntityBase class_name KukeMC func register(): fields[FieldStore.Entity.MAX_HEALTH] = 1000 + fields[FieldStore.Entity.OFFSET_SHOOT] = 45 + attackCooldownMap[0] = 500 func ai(): for bullet in get_tree().get_nodes_in_group("bullets"): if ( bullet is LGBTBullet and - bullet.position.distance_to(self.position) < 200 + bullet.position.distance_to(self.position) < 200 # 酷可mc会去摧毁200半径以内的七彩飞星 ): bullet.tryDestroy() + tryAttack(0) +func attack(type): + if type == 0: + for i in randi_range(3, 8): + BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), self, findWeaponAnchor("normal"), position.angle_to_point(currentFocusedBoss.position)) diff --git a/scripts/Contents/Wave.gd b/scripts/Contents/Wave.gd index 71047a3..e9fbae7 100644 --- a/scripts/Contents/Wave.gd +++ b/scripts/Contents/Wave.gd @@ -15,8 +15,8 @@ static var WAVE_NORMAL = [ Wave.create(preload("res://components/Characters/Bear.tscn"), 0, 0, true, 19, INF, 10), ] static var WAVE_TESTBOSS = [ - Wave.create(preload("res://components/Characters/Chick.tscn"), 0, 0, true, 0, INF, 1), - Wave.create(preload("res://components/Characters/Bear.tscn"), 0, 0, true, 0, INF, 1), + # Wave.create(preload("res://components/Characters/Chick.tscn"), 0, 0, true, 0, INF, 1), + # Wave.create(preload("res://components/Characters/Bear.tscn"), 0, 0, true, 0, INF, 1), Wave.create(preload("res://components/Characters/KukeMC.tscn"), 0, 0, true, 0, INF, 1), ] static var data = WAVE_TESTBOSS