diff --git a/components/Bullets/SevenSoul.tscn b/components/Bullets/SevenSoul.tscn index bdad83e..92c2aa7 100644 --- a/components/Bullets/SevenSoul.tscn +++ b/components/Bullets/SevenSoul.tscn @@ -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 diff --git a/components/Weapons/SevenSoul.tscn b/components/Weapons/SevenSoul.tscn index 4b73f36..0b56476 100644 --- a/components/Weapons/SevenSoul.tscn +++ b/components/Weapons/SevenSoul.tscn @@ -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]" diff --git a/resources/sounds/weapon/Finale - Toby Fox.wav b/resources/sounds/weapon/Finale - Toby Fox.wav new file mode 100644 index 0000000..f852733 Binary files /dev/null and b/resources/sounds/weapon/Finale - Toby Fox.wav differ diff --git a/resources/sounds/weapon/Finale - Toby Fox.wav.import b/resources/sounds/weapon/Finale - Toby Fox.wav.import new file mode 100644 index 0000000..2069eb1 --- /dev/null +++ b/resources/sounds/weapon/Finale - Toby Fox.wav.import @@ -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 diff --git a/scripts/Contents/Bullets/SevenSoul.gd b/scripts/Contents/Bullets/SevenSoul.gd index 0692707..60b5eea 100644 --- a/scripts/Contents/Bullets/SevenSoul.gd +++ b/scripts/Contents/Bullets/SevenSoul.gd @@ -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 diff --git a/scripts/Contents/Wave.gd b/scripts/Contents/Wave.gd index c87b5fc..ad3faae 100644 --- a/scripts/Contents/Wave.gd +++ b/scripts/Contents/Wave.gd @@ -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: diff --git a/scripts/Contents/Weapons/SevenSoul.gd b/scripts/Contents/Weapons/SevenSoul.gd index 7249934..01bd76f 100644 --- a/scripts/Contents/Weapons/SevenSoul.gd +++ b/scripts/Contents/Weapons/SevenSoul.gd @@ -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