1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-10 05:37:12 +08:00

feat(武器): 实现酸蚀风暴武器及其相关子弹效果

添加酸蚀风暴武器,它会发射一个吸引五种不同类型酸液子弹的风暴中心
修改酸液子弹基类以支持风暴效果
调整酸风武器的属性值和描述
移除旧版随机发射酸液子弹的逻辑
This commit is contained in:
2026-03-06 23:19:22 +08:00
parent e44458e816
commit 561be7c734
12 changed files with 241 additions and 72 deletions
+1 -4
View File
@@ -19,10 +19,7 @@ animations = [{
script = ExtResource("2_y4hkm")
acidType = 0
displayName = "酸液"
lifeTime = 2000.0
lifeTime = 1000.0
[node name="texture" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_3gf7s")
[node name="hitbox" parent="." index="1"]
visible = false
-1
View File
@@ -7,7 +7,6 @@
script = ExtResource("2_nxpf5")
speed = 5.0
penerate = 1.0
lifeTime = 4000.0
canDoDuplicate = false
[node name="texture" parent="." index="0"]
+125
View File
@@ -0,0 +1,125 @@
[gd_scene load_steps=9 format=3 uid="uid://clr5pbkifgear"]
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_qpsi6"]
[ext_resource type="Script" uid="uid://dl7d0v7f2uute" path="res://scripts/Contents/Bullets/AcidStorm.gd" id="2_daxsl"]
[ext_resource type="Texture2D" uid="uid://ckr8tw7fsa7qx" path="res://resources/weapons/AcidWind.png" id="2_ivaud"]
[sub_resource type="SpriteFrames" id="SpriteFrames_daxsl"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_ivaud")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="Animation" id="Animation_hfcmp"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:scale")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0.2, 0.2)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_daxsl"]
resource_name = "spawn"
length = 5.0
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0.2, 0.2), Vector2(1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 12.566370614359172]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_5atmc"]
_data = {
&"RESET": SubResource("Animation_hfcmp"),
&"spawn": SubResource("Animation_daxsl")
}
[sub_resource type="CircleShape2D" id="CircleShape2D_daxsl"]
radius = 59.008472
[node name="AcidStorm" instance=ExtResource("1_qpsi6")]
script = ExtResource("2_daxsl")
speed = 2.5
penerate = 1.0
autoSpawnAnimation = true
freeAfterSpawn = true
[node name="texture" parent="." index="0"]
scale = Vector2(0.2, 0.2)
sprite_frames = SubResource("SpriteFrames_daxsl")
[node name="animator" parent="texture" index="0"]
libraries = {
&"": SubResource("AnimationLibrary_5atmc")
}
[node name="hitbox" parent="." index="1"]
shape = SubResource("CircleShape2D_daxsl")
disabled = true
+4 -2
View File
@@ -2,7 +2,7 @@
[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://dqywctcj4y2xi" path="res://components/Weapons/Cogwheel.tscn" id="3_da2ca"]
[ext_resource type="PackedScene" uid="uid://yq7vmijwvgx1" path="res://components/Weapons/AcidWind.tscn" id="3_0omr3"]
[ext_resource type="PackedScene" uid="uid://c0n3igy4hucrg" path="res://components/Weapons/PurpleCrystal.tscn" id="4_0omr3"]
[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"]
@@ -112,9 +112,11 @@ process_material = SubResource("ParticleProcessMaterial_joj4g")
[node name="weaponStore" parent="." index="2"]
process_mode = 4
[node name="Cogwheel" parent="weaponStore" index="0" instance=ExtResource("3_da2ca")]
[node name="AcidWind" parent="weaponStore" index="0" instance=ExtResource("3_0omr3")]
offset_bottom = 566.0
[node name="PurpleCrystal" parent="weaponStore" index="1" instance=ExtResource("4_0omr3")]
debugRebuild = false
[node name="sprint" parent="sounds" index="0"]
stream = ExtResource("4_66s6c")
+21 -15
View File
@@ -12,37 +12,43 @@ quality = 4
typeTopic = 3
costBeachball = 200
store = {
"atk": 0.5,
"c-atk": 1.0,
"atk": 1.0,
"c-atk": 0.01,
"cl-atkspeed": 0.001,
"cl-speed": 0.001,
"n-atk": 1.0,
"f": 30.0,
"n-atk": 5.0,
"p-offset": 0.1,
"s-count-max": 4.0,
"weakatk": 0.25
"weakatk": 0.5
}
storeType = {
"atk": 0,
"c-atk": 1,
"c-atk": 2,
"cl-atkspeed": 2,
"cl-speed": 2,
"n-atk": 1,
"f": 4,
"n-atk": 2,
"p-offset": 3,
"s-count-max": 1,
"weakatk": 0
}
descriptionTemplate = "高速随机喷射以下五种[b]酸[/b]之一,强酸可造成$atk点伤害,弱酸造成$weakatk点伤害。
descriptionTemplate = "发射一个[b]酸蚀风暴[/b],以$f的频率吸引一下五种[b]酸[/b]到风暴中心,强酸可造成$atk点伤害,弱酸造成$weakatk点伤害。
[color=green][b]硫酸[/b][/color]:命中时溅射1~$s-count-max滴[b]硫酸[/b]。
[color=lightblue][b]硝酸[/b][/color]:额外造成$n-atk伤害。
[color=lightblue][b]硝酸[/b][/color]:额外造成$n-atk伤害。
[color=lightyellow][b]盐酸[/b][/color]:使敌人 [i]移动速度[/i] 降低$cl-speed[i]攻击速度[/i] 降低$cl-atkspeed。
[color=pink][b]碳酸[/b][/color]不会发生散射,可无限穿透,碰撞体积会越来越大,但飞行速度稍慢
[color=orange][b]磷酸[/b][/color]:使敌人 [i]散射角[/i] 增加$p-offset,可无限追踪。"
cooldown = 0.0
[color=pink][b]碳酸[/b][/color]降低敌人$c-atk伤害
[color=orange][b]磷酸[/b][/color]:使敌人 [i]散射角[/i] 增加$p-offset。"
needEnergy = 10.0
cooldown = 2000.0
debugRebuild = true
[node name="avatar" parent="container/info" index="0"]
texture = ExtResource("2_pnd3r")
[node name="energy" parent="container/info/infos/energyInfo" index="1"]
text = "10.0"
[node name="beachball" parent="container/info/infos" index="1"]
count = 200
@@ -52,9 +58,9 @@ quality = 4
typeTopic = 3
[node name="description" parent="container" index="2"]
text = "[center]高速随机喷射以下五种[b]酸[/b]之一,强酸可造成[color=cyan]0.50[/color]点伤害,弱酸造成[color=cyan]0.25[/color]点伤害。
text = "[center]发射一个[b]酸蚀风暴[/b],以[color=cyan]30.0Hz[/color]的频率吸引一下五种[b]酸[/b]到风暴中心,强酸可造成[color=cyan]1.00[/color]点伤害,弱酸造成[color=cyan]0.50[/color]点伤害。
[color=green][b]硫酸[/b][/color]:命中时溅射1~[color=cyan]4[/color]滴[b]硫酸[/b]。
[color=lightblue][b]硝酸[/b][/color]:额外造成[color=cyan]1[/color]伤害。
[color=lightblue][b]硝酸[/b][/color]:额外造成[color=cyan]500.0%[/color]伤害。
[color=lightyellow][b]盐酸[/b][/color]:使敌人 [i]移动速度[/i] 降低[color=cyan]0.1%[/color][i]攻击速度[/i] 降低[color=cyan]0.1%[/color]。
[color=pink][b]碳酸[/b][/color]不会发生散射,可无限穿透,碰撞体积会越来越大,但飞行速度稍慢
[color=orange][b]磷酸[/b][/color]:使敌人 [i]散射角[/i] 增加[color=cyan]0.1°[/color],可无限追踪。[/center]"
[color=pink][b]碳酸[/b][/color]降低敌人[color=cyan]1.0%[/color]伤害
[color=orange][b]磷酸[/b][/color]:使敌人 [i]散射角[/i] 增加[color=cyan]0.1°[/color]。[/center]"