From 53db80ceb7c53118bd18b1a674893de74cfb6de4 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, 18 Jan 2026 14:12:34 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=AD=A6=E5=99=A8):=20=E9=87=8D=E5=81=9A?= =?UTF-8?q?=E9=93=BE=E5=BC=8F=E6=9C=BA=E6=9E=AA=E5=B9=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=9F=B3=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 重构链式机枪的子弹生成逻辑,降低散射衰减系数 添加射击音效资源及导入配置 调整武器属性描述和数值 移除测试用的调试代码 --- components/Characters/Rooster.tscn | 23 +++++++++-------- components/Weapons/ChainGun.tscn | 21 +++++++++------ project.godot | 1 + resources/sounds/effect/chainshoot.wav | Bin 0 -> 64852 bytes resources/sounds/effect/chainshoot.wav.import | 24 ++++++++++++++++++ scripts/Contents/Bullets/ChainGun.gd | 13 +++++++--- scripts/Contents/Bullets/Volcano.gd | 3 ++- scripts/Contents/Characters/Rooster.gd | 6 +++-- scripts/Contents/Weapons/ChainGun.gd | 3 ++- scripts/Contents/Weapons/Volcano.gd | 2 +- scripts/Statemachine/BulletBase.gd | 17 +++++-------- scripts/Statemachine/EntityBase.gd | 2 +- 12 files changed, 76 insertions(+), 39 deletions(-) create mode 100644 resources/sounds/effect/chainshoot.wav create mode 100644 resources/sounds/effect/chainshoot.wav.import diff --git a/components/Characters/Rooster.tscn b/components/Characters/Rooster.tscn index fea4b49..80dd2ed 100644 --- a/components/Characters/Rooster.tscn +++ b/components/Characters/Rooster.tscn @@ -1,13 +1,14 @@ -[gd_scene load_steps=12 format=3 uid="uid://bm7ymrri6pykb"] +[gd_scene load_steps=13 format=3 uid="uid://bm7ymrri6pykb"] [ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_e5pl8"] [ext_resource type="Script" uid="uid://cthtupc6dtbav" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"] -[ext_resource type="PackedScene" uid="uid://c0n3igy4hucrg" path="res://components/Weapons/PurpleCrystal.tscn" id="3_s7kxe"] +[ext_resource type="PackedScene" uid="uid://dlaks67h2osms" path="res://components/Weapons/ChainGun.tscn" id="3_s7kxe"] [ext_resource type="AudioStream" uid="uid://cdrevrq7n6yqa" path="res://resources/sounds/effect/Boing.mp3" id="4_66s6c"] [ext_resource type="AudioStream" uid="uid://benyec5bqni0b" path="res://resources/sounds/effect/Chomp.wav" id="4_k0yme"] [ext_resource type="AudioStream" uid="uid://dmxh3bpk8vyy5" path="res://resources/sounds/effect/Coin.mp3" id="5_xnbhq"] [ext_resource type="AudioStream" uid="uid://4wuuf1osk0yv" path="res://resources/sounds/effect/Low Boing.wav" id="6_m5px1"] -[ext_resource type="Texture2D" uid="uid://x7ic6wm22jv4" path="res://resources/characters/cock/rooster.png" id="11_joj4g"] +[ext_resource type="Texture2D" uid="uid://fn8qx72clh38" path="res://resources/characters/cock/rooster-a.svg" id="8_da2ca"] +[ext_resource type="Texture2D" uid="uid://ci2ik43ce82uy" path="res://resources/characters/cock/rooster-b.svg" id="9_0omr3"] [sub_resource type="SpriteFrames" id="SpriteFrames_4v2ol"] animations = [{ @@ -26,7 +27,7 @@ animations = [{ animations = [{ "frames": [{ "duration": 1.0, -"texture": ExtResource("11_joj4g") +"texture": ExtResource("8_da2ca") }], "loop": true, "name": &"idle", @@ -34,7 +35,10 @@ animations = [{ }, { "frames": [{ "duration": 1.0, -"texture": ExtResource("11_joj4g") +"texture": ExtResource("8_da2ca") +}, { +"duration": 1.0, +"texture": ExtResource("9_0omr3") }], "loop": true, "name": &"walk", @@ -54,7 +58,7 @@ metadata/_edit_vertical_guides_ = [71.0] [node name="weaponStore" parent="." index="1"] process_mode = 4 -[node name="PurpleCrystal" parent="weaponStore" index="0" instance=ExtResource("3_s7kxe")] +[node name="ChainGun" parent="weaponStore" index="0" instance=ExtResource("3_s7kxe")] debugRebuild = false [node name="sprint" parent="sounds" index="0"] @@ -70,15 +74,14 @@ stream = ExtResource("5_xnbhq") stream = ExtResource("6_m5px1") [node name="texture" parent="." index="3"] -position = Vector2(0, -70) +position = Vector2(0, -47) sprite_frames = SubResource("SpriteFrames_4v2ol") animation = &"walk" [node name="staticAnimation" parent="texture" index="1"] position = Vector2(0, -24) -scale = Vector2(0.32309517, 0.32309517) sprite_frames = SubResource("SpriteFrames_jluqw") -animation = &"walk" +animation = &"idle" [node name="hitbox" parent="texture/hurtbox" index="0"] position = Vector2(8, -28) @@ -88,5 +91,5 @@ shape = SubResource("CircleShape2D_h1v0q") position = Vector2(54, -45) [node name="statebar" parent="." index="4" node_paths=PackedStringArray("entity")] -position = Vector2(0, -202) +position = Vector2(0, -150) entity = NodePath("..") diff --git a/components/Weapons/ChainGun.tscn b/components/Weapons/ChainGun.tscn index 654dbb4..7e3108e 100644 --- a/components/Weapons/ChainGun.tscn +++ b/components/Weapons/ChainGun.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=4 format=3 uid="uid://dlaks67h2osms"] +[gd_scene load_steps=5 format=3 uid="uid://dlaks67h2osms"] [ext_resource type="PackedScene" uid="uid://ckq2cq6m23hq3" path="res://components/Abstracts/WeaponCardBase.tscn" id="1_x1nyl"] [ext_resource type="Texture2D" uid="uid://ccxdfsg5071t4" path="res://resources/bullets/chain-gun/Chain_Gun.webp" id="2_ghn43"] [ext_resource type="Script" uid="uid://dev0urlc13rxc" path="res://scripts/Contents/Weapons/ChainGun.gd" id="2_ponmu"] +[ext_resource type="AudioStream" uid="uid://bdcyao3e6xs63" path="res://resources/sounds/effect/chainshoot.wav" id="4_g38si"] [node name="ChainGun" instance=ExtResource("1_x1nyl")] script = ExtResource("2_ponmu") @@ -12,22 +13,26 @@ costBeachball = 400 store = { "atk": 3, "count": 1, -"split": 30 +"split": 15 } storeType = { "atk": 1, "count": 1, -"split": 1 +"split": 3 } -descriptionTemplate = "以$split单位的间隔发射$count个[b]微型水晶[/b],可造成$atk点伤害。" -needEnergy = 1.0 -cooldown = 50.0 +descriptionTemplate = "超高速发射$count个[b]微型水晶[/b],可造成$atk点伤害,散射+$split。" +needEnergy = 0.75 +cooldown = 66.0 +debugRebuild = true + +[node name="attack" parent="sounds" index="0"] +stream = ExtResource("4_g38si") [node name="avatar" parent="container/info" index="0"] texture = ExtResource("2_ghn43") [node name="energy" parent="container/info/infos/energyInfo" index="1"] -text = "1.0" +text = "0.8" [node name="beachball" parent="container/info/infos" index="1"] count = 400 @@ -36,4 +41,4 @@ count = 400 displayName = "链式机枪" [node name="description" parent="container" index="2"] -text = "[center]以[color=cyan]30[/color]单位的间隔发射[color=cyan]1[/color]个[b]微型水晶[/b],可造成[color=cyan]3[/color]点伤害。[/center]" +text = "[center]超高速发射[color=cyan]1[/color]个[b]微型水晶[/b],可造成[color=cyan]3[/color]点伤害,散射+[color=cyan]15.0°[/color]。[/center]" diff --git a/project.godot b/project.godot index 5c32577..0152548 100644 --- a/project.godot +++ b/project.godot @@ -19,6 +19,7 @@ config/icon="res://icon.svg" window/size/viewport_width=1280 window/size/viewport_height=720 +window/size/mode=2 [dotnet] diff --git a/resources/sounds/effect/chainshoot.wav b/resources/sounds/effect/chainshoot.wav new file mode 100644 index 0000000000000000000000000000000000000000..0cccfdf8cc9132eee3272e401b44927e13435856 GIT binary patch literal 64852 zcmYIv1#}civ}n7JOFSgF6Wrb1-CY)4+}+)6@kJMRSlrzL1VY@Cai8|ry}bAT=~J2N zs_XYwrQ~+6j_ulY5dolo%YJRgO_`OT2LJ#BAfU~80MK8700htjV@A#zSy6!j0ZE1d zQHB&4wI<1+Qj?XxveG6g<#*rjHx>SOP5u21sY0m~R9xhLf1&^As<_C1y(%3Q_y5Z8 z+HXqmf0TaHRRI2jk`-!dFZdrlPDTO#KiVpNOzA-s9aNbAgZ?c!`X4_PPsLOz{HFa| z(%%yNfB7X@#r`d`ssRX^3Yhyo!h(uoRJ6_c04N*z;Raiw3CS*6d(LFG{`ODL_l z!cEm%h4sn-1)EhkyX27US8!DcJqn$W0)qisg$Aw^RH@MlrLfW)RA^HFD~BpS3@}Pj zrTuL!5FizJl>_v@(ghR?g#Oe1w;$9#RR@*t@0d}2_}eo4f7Vg8QngWi#ws

{H%? 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 literal 0 HcmV?d00001 diff --git a/resources/sounds/effect/chainshoot.wav.import b/resources/sounds/effect/chainshoot.wav.import new file mode 100644 index 0000000..3ab59a3 --- /dev/null +++ b/resources/sounds/effect/chainshoot.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bdcyao3e6xs63" +path="res://.godot/imported/chainshoot.wav-a0d7629f12757fe65a40d82f1ed87019.sample" + +[deps] + +source_file="res://resources/sounds/effect/chainshoot.wav" +dest_files=["res://.godot/imported/chainshoot.wav-a0d7629f12757fe65a40d82f1ed87019.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/scripts/Contents/Bullets/ChainGun.gd b/scripts/Contents/Bullets/ChainGun.gd index c100c19..75ae276 100644 --- a/scripts/Contents/Bullets/ChainGun.gd +++ b/scripts/Contents/Bullets/ChainGun.gd @@ -1,16 +1,21 @@ extends BulletBase -var count: int = 1 -var splits: float = 10.0 +var count: int = 0 +var splits: float = 0 @onready var anchor: Node2D = $"%anchor" func spawn(): for j in count: - for i in BulletBase.generate(ComponentManager.getBullet("PurpleCrystalSmall"), launcher, anchor.global_position, rotation): + for i in BulletBase.generate( + ComponentManager.getBullet("PurpleCrystalSmall"), + launcher, + anchor.global_position, + rotation + deg_to_rad(splits * randf_range(-1, 1)) + ): if i is BulletBase: var dir = Vector2.from_angle(i.rotation).rotated(deg_to_rad(-90)) i.baseDamage = baseDamage - i.position += dir * (count - j * 2) * splits / 2 + i.position += dir * (count - j * 2) * 10 / 2 func ai(): PresetBulletAI.lockLauncher(self, launcher, true) diff --git a/scripts/Contents/Bullets/Volcano.gd b/scripts/Contents/Bullets/Volcano.gd index b57c9b8..7eb1ad3 100644 --- a/scripts/Contents/Bullets/Volcano.gd +++ b/scripts/Contents/Bullets/Volcano.gd @@ -27,7 +27,8 @@ func generateShadow(): launcher, position, startAngle + i * deg_to_rad(splitAngle), - false, false, true, true + true, + true ): if bullet is VolcanoShadow: bullet.baseDamage = baseDamage * dmg5 diff --git a/scripts/Contents/Characters/Rooster.gd b/scripts/Contents/Characters/Rooster.gd index d03f2fd..bdc0020 100644 --- a/scripts/Contents/Characters/Rooster.gd +++ b/scripts/Contents/Characters/Rooster.gd @@ -11,8 +11,10 @@ func register(): elif bullet is FoxZhua: EffectController.create(ComponentManager.getEffect("BloodFall"), texture.global_position).shot() ) - if !WorldManager.isRelease(): - fields[FieldStore.Entity.BULLET_REFRACTION] = 3 + # if !WorldManager.isRelease(): + # fields[FieldStore.Entity.BULLET_REFRACTION] = 3 + # fields[FieldStore.Entity.BULLET_SPLIT] = 3 + # fields[FieldStore.Entity.EXTRA_BULLET_COUNT] = 3 func ai(): texture.play("walk") var direction = Vector2( diff --git a/scripts/Contents/Weapons/ChainGun.gd b/scripts/Contents/Weapons/ChainGun.gd index 7b702a3..1d38b96 100644 --- a/scripts/Contents/Weapons/ChainGun.gd +++ b/scripts/Contents/Weapons/ChainGun.gd @@ -4,7 +4,7 @@ extends Weapon func update(to, origin, _entity): origin["atk"] += 2 * to * soulLevel origin["count"] = 1 * soulLevel - origin["split"] /= 1 + 0.05 * to * soulLevel + origin["split"] /= 1 + 0.005 * to * soulLevel return origin func attack(entity: EntityBase): for i in BulletBase.generate(ComponentManager.getBullet("ChainGun"), entity, entity.texture.global_position, (get_global_mouse_position() - entity.texture.global_position).angle()): @@ -12,3 +12,4 @@ func attack(entity: EntityBase): i.baseDamage = readStore("atk") i.count = floor(readStore("count")) i.splits = readStore("split") + return true diff --git a/scripts/Contents/Weapons/Volcano.gd b/scripts/Contents/Weapons/Volcano.gd index 32c88f7..388ee1c 100644 --- a/scripts/Contents/Weapons/Volcano.gd +++ b/scripts/Contents/Weapons/Volcano.gd @@ -16,7 +16,7 @@ func attack(entity: EntityBase): ComponentManager.getBullet("Volcano"), entity, entity.findWeaponAnchor("normal"), - entity.position.angle_to_point(entity.get_global_mouse_position()), false, false, true, true + entity.position.angle_to_point(entity.get_global_mouse_position()), true, true ): var bullet: Volcano = j bullet.baseDamage = readStore("atk") diff --git a/scripts/Statemachine/BulletBase.gd b/scripts/Statemachine/BulletBase.gd index 1a5d0f9..c9ba001 100644 --- a/scripts/Statemachine/BulletBase.gd +++ b/scripts/Statemachine/BulletBase.gd @@ -30,8 +30,7 @@ var parent: BulletBase = null var spawnInWhen: float = 0 var spawnInWhere: Vector2 = Vector2.ZERO var destroying: bool = false -var isChildSplit: bool = false -var isChildRefract: bool = false +var canDuplicateSelf: bool = true var initialSpeed: float = 0 var initialDamage: float = 0 var speedScale: float = 1 @@ -144,19 +143,19 @@ func tryDestroy(becauseMap: bool = false): await animator.animation_finished queue_free() func trySplit(): - if is_instance_valid(launcher) and !isChildSplit: + if is_instance_valid(launcher) and canDuplicateSelf: var value = launcher.fields.get(FieldStore.Entity.BULLET_SPLIT) var total = MathTool.shrimpRate(value) var last = value - floor(value) for i in total: var cloned = duplicate() as BulletBase - cloned.rotation = deg_to_rad(360.0 / total * i) - cloned.isChildSplit = true + cloned.rotation += deg_to_rad(360.0 / total * i + 180) + cloned.canDuplicateSelf = false cloned.launcher = launcher cloned.parent = parent get_parent().add_child.call_deferred(split(cloned, i, total, last)) func tryRefract(): - if is_instance_valid(launcher) and !isChildRefract: + if is_instance_valid(launcher) and canDuplicateSelf: var value = launcher.fields.get(FieldStore.Entity.BULLET_REFRACTION) var total = MathTool.shrimpRate(value) var last = value - floor(value) @@ -172,7 +171,7 @@ func tryRefract(): aimed.append(entity) var cloned = duplicate() as BulletBase cloned.look_at(entity.position) - cloned.isChildRefract = true + cloned.canDuplicateSelf = false cloned.launcher = launcher cloned.parent = parent get_parent().add_child.call_deferred(refract(cloned, entity, i, total, last)) @@ -202,8 +201,6 @@ static func generate( launchBy: EntityBase, spawnPosition: Vector2, spawnRotation: float, - asChildSplit: bool = false, - asChildRefract: bool = false, addToWorld: bool = true, ignoreOffset: bool = false ): @@ -212,8 +209,6 @@ static func generate( var instances = [] for i in range(count): var instance: BulletBase = bullet.instantiate() - instance.isChildSplit = asChildSplit - instance.isChildRefract = asChildRefract instance.launcher = launchBy instance.position = spawnPosition instance.rotation = spawnRotation + deg_to_rad(launchBy.fields.get(FieldStore.Entity.OFFSET_SHOOT) * randf_range(-1, 1) * int(!ignoreOffset)) diff --git a/scripts/Statemachine/EntityBase.gd b/scripts/Statemachine/EntityBase.gd index 7b3b4d7..b609b37 100644 --- a/scripts/Statemachine/EntityBase.gd +++ b/scripts/Statemachine/EntityBase.gd @@ -338,7 +338,7 @@ func tryDie(by: BulletBase = null): var item = drops[drop] var count = ceil(randf_range(dropCounts[drop].x, dropCounts[drop].y)) for i in range(count): - ItemDropped.generate(item, randi_range(1, 3 * round(sqrt(GameRule.difficulty - GameRule.difficultyRange.x + 1))), position + MathTool.randomVector2In(GameRule.itemDroppedSpawnOffset)) + ItemDropped.generate(item, randi_range(1, round(2.5 * sqrt(GameRule.difficulty - GameRule.difficultyRange.x + 1))), position + MathTool.randomVector2In(GameRule.itemDroppedSpawnOffset)) if MathTool.rate( GameRule.appleDropRate + by.launcher.fields.get(FieldStore.Entity.DROP_APPLE_RATE) +