1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00

feat(武器): 更新七魂武器效果并添加音效

- 添加攻击音效文件
- 修改七魂子弹生成逻辑,从7个改为6个并添加延迟
- 调整子弹生命周期和旋转动画
- 更新武器描述和属性
- 添加新的测试BOSS波浪数据
This commit is contained in:
2025-09-25 22:41:04 +08:00
parent 159389c908
commit 49d3a31367
7 changed files with 45 additions and 10 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
[node name="SevenSoul" instance=ExtResource("1_c4fl5")]
script = ExtResource("2_egs34")
lifeTime = 10000.0
lifeTime = 112000.0
[node name="heart" type="Sprite2D" parent="texture" index="1"]
unique_name_in_owner = true
+7 -4
View File
@@ -1,8 +1,9 @@
[gd_scene load_steps=4 format=3 uid="uid://c5y4g70evwy46"]
[gd_scene load_steps=5 format=3 uid="uid://c5y4g70evwy46"]
[ext_resource type="PackedScene" uid="uid://ckq2cq6m23hq3" path="res://components/Abstracts/WeaponCardBase.tscn" id="1_0f84s"]
[ext_resource type="Script" path="res://scripts/Contents/Weapons/SevenSoul.gd" id="2_n7gtb"]
[ext_resource type="Texture2D" uid="uid://b8w31dkev8nc8" path="res://resources/bullets/seven-soul/soul-red.png" id="4_a4r2b"]
[ext_resource type="AudioStream" uid="uid://dy4k5mni7d7wo" path="res://resources/sounds/weapon/Finale - Toby Fox.wav" id="4_tmgox"]
[node name="SevenSoul" instance=ExtResource("1_0f84s")]
script = ExtResource("2_n7gtb")
@@ -10,11 +11,13 @@ avatarTexture = ExtResource("4_a4r2b")
displayName = "人类灵魂"
typeTopic = 3
store = {
"atk": 2
"atk": 1
}
descriptionTemplate = "召唤7条人类灵魂,每条以10Hz的频率造成$atk点伤害。"
cooldown = 2000.0
debugRebuild = true
[node name="attack" parent="sounds" index="0"]
stream = ExtResource("4_tmgox")
[node name="avatar" parent="container/info" index="0"]
texture = ExtResource("4_a4r2b")
@@ -24,4 +27,4 @@ displayName = "人类灵魂"
typeTopic = 3
[node name="description" parent="container" index="2"]
text = "[center]召唤7条人类灵魂,每条以10Hz的频率造成[color=cyan]2[/color]→[color=yellow]10[/color]点伤害。[/center]"
text = "[center]召唤7条人类灵魂,每条以10Hz的频率造成[color=cyan]2[/color]→[color=yellow]3[/color]点伤害。[/center]"
Binary file not shown.
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dy4k5mni7d7wo"
path="res://.godot/imported/Finale - Toby Fox.wav-a122d18c8cba0afde963791b95e73116.sample"
[deps]
source_file="res://resources/sounds/weapon/Finale - Toby Fox.wav"
dest_files=["res://.godot/imported/Finale - Toby Fox.wav-a122d18c8cba0afde963791b95e73116.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=0
+3 -3
View File
@@ -14,12 +14,12 @@ var index = 0
func spawn():
heart.modulate = Color(colors[index % colors.size()])
rotation_degrees = 360.0 / colors.size() * index
func ai():
rotation_degrees += 1.5
rotation_degrees = 360.0 / colors.size() * index + timeLived() / 20000.0 * 360 - index / 6.0 * 360.0
heart.global_rotation_degrees = 0
PresetBulletAI.lockLauncher(self, launcher, true)
func applyDot():
BulletBase.generate(ComponentManager.getBullet("SoulBall"), launcher, heart.global_position, heart.global_position.angle_to_point(get_global_mouse_position()))
if timeLived() > 20000 * ((6.0 - index) / 6.0):
BulletBase.generate(ComponentManager.getBullet("SoulBall"), launcher, heart.global_position, heart.global_position.angle_to_point(get_global_mouse_position()))
await TickTool.millseconds(100)
return true
+7 -1
View File
@@ -23,8 +23,14 @@ static var WAVE_TESTBOSS_ALL = [
static var WAVE_TESTBOSS_KUKE = [
Wave.create("KukeMC", 0, 0, true, 0, INF, 10),
]
static var WAVE_TESTBOSS_BEAR = [
Wave.create("Bear", 0, 0, true, 0, INF, 10),
]
static var WAVE_TESTBOSS_CHICK = [
Wave.create("Chick", 0, 0, true, 0, INF, 10),
]
static var WAVE_EMPTY = []
static var data = WAVE_NORMAL
static var data = WAVE_TESTBOSS_BEAR
static func customStart():
if false:
+3 -1
View File
@@ -2,9 +2,11 @@
extends Weapon
func attack(entity: EntityBase):
for i in 7:
playSound("attack")
for i in 6:
for j in BulletBase.generate(ComponentManager.getBullet("SevenSoul"), entity, entity.texture.global_position, 0):
j.index = i
await TickTool.millseconds(20000 / 6.0)
func update(to, origin, _entity):
origin["atk"] += 1 * to * soulLevel
return origin