From 1a6a47da748aad18fb52a470b5b0b4bb1af10f54 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, 21 Sep 2025 15:32:38 +0800 Subject: [PATCH] =?UTF-8?q?feat(Meowmere):=20=E8=B0=83=E6=95=B4=E6=AD=A6?= =?UTF-8?q?=E5=99=A8=E5=92=8C=E5=AD=90=E5=BC=B9=E5=B1=9E=E6=80=A7=E5=B9=B6?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为Meowmere子弹添加穿透属性 - 调整武器伤害计算和子子弹伤害 - 更新武器描述模板和数值显示 - 修改子弹碰撞体大小和位置 - 优化武器动画和旋转效果 - 调整角色武器库中的武器顺序 --- components/Bullets/Meowmere.tscn | 36 +++++++++++++++------------- components/Characters/Rooster.tscn | 15 ++++++------ components/Weapons/Meowmere.tscn | 6 +++-- scripts/Contents/Bullets/Meowmere.gd | 4 +++- scripts/Contents/Weapons/Meowmere.gd | 6 +++-- 5 files changed, 38 insertions(+), 29 deletions(-) diff --git a/components/Bullets/Meowmere.tscn b/components/Bullets/Meowmere.tscn index 8edd26b..e8fb28a 100644 --- a/components/Bullets/Meowmere.tscn +++ b/components/Bullets/Meowmere.tscn @@ -6,6 +6,21 @@ [sub_resource type="SpriteFrames" id="SpriteFrames_432r6"] +[sub_resource type="Animation" id="Animation_q4hki"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("sword:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.436332] +} + [sub_resource type="Animation" id="Animation_jdotg"] resource_name = "spwan" length = 0.2 @@ -22,21 +37,6 @@ tracks/0/keys = { "values": [-0.436332, 2.00713] } -[sub_resource type="Animation" id="Animation_q4hki"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("sword:rotation") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [-0.436332] -} - [sub_resource type="AnimationLibrary" id="AnimationLibrary_47iyl"] _data = { "RESET": SubResource("Animation_q4hki"), @@ -44,7 +44,7 @@ _data = { } [sub_resource type="RectangleShape2D" id="RectangleShape2D_ja03c"] -size = Vector2(56, 107) +size = Vector2(56, 250) [node name="Meowmere" instance=ExtResource("1_newpt")] script = ExtResource("2_eoimw") @@ -52,6 +52,8 @@ autoSpawnAnimation = true freeAfterSpawn = true [node name="texture" parent="." index="0"] +position = Vector2(100, 0) +scale = Vector2(2, 2) sprite_frames = SubResource("SpriteFrames_432r6") [node name="animator" parent="texture" index="0"] @@ -67,5 +69,5 @@ position = Vector2(25, -29) texture = ExtResource("2_ahi5w") [node name="hitbox" parent="." index="1"] -position = Vector2(30, -4.5) +position = Vector2(140, 0) shape = SubResource("RectangleShape2D_ja03c") diff --git a/components/Characters/Rooster.tscn b/components/Characters/Rooster.tscn index 62aac5e..52e1b06 100644 --- a/components/Characters/Rooster.tscn +++ b/components/Characters/Rooster.tscn @@ -57,19 +57,20 @@ debugRebuild = false [node name="Meowmere" parent="weaponStore" index="1" instance=ExtResource("3_e2rag")] offset_bottom = 315.0 -[node name="PurpleCrystal" parent="weaponStore" index="2" instance=ExtResource("3_ms5sq")] +[node name="MushroomPickaxe" parent="weaponStore" index="2" instance=ExtResource("9_85j0d")] +offset_bottom = 315.0 debugRebuild = false -[node name="VectorStar" parent="weaponStore" index="3" instance=ExtResource("6_fvy5n")] +[node name="PurpleCrystal" parent="weaponStore" index="3" instance=ExtResource("3_ms5sq")] debugRebuild = false -[node name="LGBT" parent="weaponStore" index="4" instance=ExtResource("4_pb8qn")] - -[node name="BigLaser" parent="weaponStore" index="5" instance=ExtResource("4_plqwu")] - -[node name="MushroomPickaxe" parent="weaponStore" index="6" instance=ExtResource("9_85j0d")] +[node name="VectorStar" parent="weaponStore" index="4" instance=ExtResource("6_fvy5n")] debugRebuild = false +[node name="LGBT" parent="weaponStore" index="5" instance=ExtResource("4_pb8qn")] + +[node name="BigLaser" parent="weaponStore" index="6" instance=ExtResource("4_plqwu")] + [node name="NuclearBomb" parent="weaponStore" index="7" instance=ExtResource("10_ncj2v")] [node name="sprint" parent="sounds" index="0"] diff --git a/components/Weapons/Meowmere.tscn b/components/Weapons/Meowmere.tscn index 498e262..3f0ac6b 100644 --- a/components/Weapons/Meowmere.tscn +++ b/components/Weapons/Meowmere.tscn @@ -13,13 +13,15 @@ typeTopic = 3 costBeachball = 600 store = { "atk": 10, +"childatk": 5, "count": 1.0 } storeType = { "atk": 1, +"childatk": 1, "count": 1.0 } -descriptionTemplate = "发射$count只彩虹猫的同时挥舞造成$atk点伤害。" +descriptionTemplate = "发射$count只造成$childatk点伤害的[b]彩虹猫[/b]的同时挥舞造成$atk点伤害。" cooldown = 200.0 [node name="avatar" parent="container/info" index="0"] @@ -34,4 +36,4 @@ quality = 2 typeTopic = 3 [node name="description" parent="container" index="2"] -text = "[center]发射[color=cyan]1[/color]→[color=yellow]1[/color]只彩虹猫的同时挥舞造成[color=cyan]10[/color]→[color=yellow]17[/color]点伤害。[/center]" +text = "[center]发射[color=cyan]1[/color]→[color=yellow]1[/color]只造成[color=cyan]5[/color]→[color=yellow]3[/color]点伤害的[b]彩虹猫[/b]的同时挥舞造成[color=cyan]15[/color]→[color=yellow]22[/color]点伤害。[/center]" diff --git a/scripts/Contents/Bullets/Meowmere.gd b/scripts/Contents/Bullets/Meowmere.gd index c3f21b7..f13d946 100644 --- a/scripts/Contents/Bullets/Meowmere.gd +++ b/scripts/Contents/Bullets/Meowmere.gd @@ -1,4 +1,6 @@ extends BulletBase +func register(): + penerate = 1 func ai(): - PresetBulletAI.lockLauncher(self, launcher, true) \ No newline at end of file + PresetBulletAI.lockLauncher(self, launcher, true) diff --git a/scripts/Contents/Weapons/Meowmere.gd b/scripts/Contents/Weapons/Meowmere.gd index 4f15e30..2041455 100644 --- a/scripts/Contents/Weapons/Meowmere.gd +++ b/scripts/Contents/Weapons/Meowmere.gd @@ -2,12 +2,14 @@ extends Weapon func update(to, origin, _entity): - origin["atk"] += 7 * to * soulLevel + origin["atk"] += 3 * to * soulLevel origin["count"] = 1 * soulLevel + origin["childatk"] = 2 * to * soulLevel return origin func attack(entity: EntityBase): var weaponPos = entity.findWeaponAnchor("normal") for i in BulletBase.generate(ComponentManager.getBullet("Meowmere"), entity, weaponPos, weaponPos.angle_to_point(get_global_mouse_position())): i.damage = readStore("atk") for i in readStore("count"): - BulletBase.generate(ComponentManager.getBullet("RainbowCat"), entity, weaponPos, weaponPos.angle_to_point(get_global_mouse_position())) + for j in BulletBase.generate(ComponentManager.getBullet("RainbowCat"), entity, weaponPos, weaponPos.angle_to_point(get_global_mouse_position())): + j.damage = readStore("childatk")