1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-09 21:27:13 +08:00

feat(武器): 新增道教石像武器及无为子弹

添加道教石像武器资源文件、脚本和场景配置
实现无为子弹的碰撞检测和动画效果
调整树武器的伤害计算方式,现在基于格挡率
优化游戏波次配置,调整敌人数量和出现时机
修复初始选择面板在发布模式下的逻辑问题
This commit is contained in:
2026-04-02 22:39:29 +08:00
parent 4727e26218
commit 01ab16ed9f
16 changed files with 275 additions and 19 deletions
+132
View File
@@ -0,0 +1,132 @@
[gd_scene format=3 uid="uid://bwr1jbnnkvkgi"]
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_eg848"]
[ext_resource type="Texture2D" uid="uid://d1ismqrlhbv7f" path="res://resources/bullets/wuwei/Wuwei.png" id="2_6ny68"]
[sub_resource type="Animation" id="Animation_6ny68"]
length = 0.001
tracks/0/type = "bezier"
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 = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
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),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("%hitbox:disabled")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_vxgkj"]
resource_name = "destroy"
length = 0.5
step = 0.1
[sub_resource type="Animation" id="Animation_rpg0e"]
resource_name = "loop"
loop_mode = 1
step = 0.1
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, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 6.28319]
}
[sub_resource type="Animation" id="Animation_06poh"]
resource_name = "spawn"
length = 3.0
loop_mode = 1
step = 0.1
tracks/0/type = "bezier"
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 = {
"handle_modes": PackedInt32Array(2, 2),
"points": PackedFloat32Array(0, 0, 0, 3.5, 4, -1.57, -1, -2, 0, 0),
"times": PackedFloat32Array(0, 3)
}
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, 0.9, 2.7, 3),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), 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("%hitbox:disabled")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 2.4, 3),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_57ptn"]
_data = {
&"RESET": SubResource("Animation_6ny68"),
&"destroy": SubResource("Animation_vxgkj"),
&"loop": SubResource("Animation_rpg0e"),
&"spawn": SubResource("Animation_06poh")
}
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_6ny68"]
radius = 55.20601
height = 389.01526
[node name="Wuwei" unique_id=326826451 instance=ExtResource("1_eg848")]
[node name="animator" parent="texture" index="0"]
libraries/ = SubResource("AnimationLibrary_57ptn")
[node name="static" type="Sprite2D" parent="texture" index="1" unique_id=892692141]
position = Vector2(136.00002, 0)
scale = Vector2(0.37746382, 0.37746382)
texture = ExtResource("2_6ny68")
[node name="hitbox" parent="." index="1"]
position = Vector2(112, -64)
rotation = -0.29216617
shape = SubResource("CapsuleShape2D_6ny68")
+33
View File
@@ -0,0 +1,33 @@
[gd_scene format=3 uid="uid://bbrllsqjmx0ie"]
[ext_resource type="PackedScene" uid="uid://ckq2cq6m23hq3" path="res://components/Abstracts/WeaponCardBase.tscn" id="1_mps21"]
[ext_resource type="Texture2D" uid="uid://gwsychqkmv21" path="res://resources/weapons/Statue_Sword_Attack0.png" id="2_gx1sf"]
[node name="DaoStatue" unique_id=265403254 instance=ExtResource("1_mps21")]
avatarTexture = ExtResource("2_gx1sf")
displayName = "道教石像"
typeTopic = 1
store = {
"atk": 50,
"rate": 0.05
}
storeType = {
"atk": 1,
"rate": 2
}
descriptionTemplate = "挥出[b]无为之剑[/b],蓄力一段时间后挥出,
发射一道[b]次元斩[/b],造成$atk点伤害。
攻击速度每降低1%,次元斩伤害+$rate"
debugRebuild = true
[node name="avatar" parent="container/info" index="0"]
texture = ExtResource("2_gx1sf")
[node name="name" parent="container/info" index="2"]
displayName = "道教石像"
typeTopic = 1
[node name="description" parent="container" index="2"]
text = "[center]挥出[b]无为之剑[/b],蓄力一段时间后挥出,
发射一道[b]次元斩[/b],造成[color=cyan]50[/color]点伤害。
攻击速度每降低1%,次元斩伤害+[color=cyan]5.0%[/color][/center]"
+2
View File
@@ -27,6 +27,7 @@ storeType = {
descriptionTemplate = "进行[b]格挡[/b],化解飞来的子弹。
每成功格挡一次,获得一点[b]气力[/b]。
每拥有一点气力,增加[color=yellow]1[/color]点冲刺初速度,闪避穿过敌人时对其贴上一层[b]符咒[/b],符咒会自动引爆,召唤[b]乾坤剑[/b]穿透敌人。
近战攻击造成乾坤剑的$rate点伤害。
每次格挡有$rate的概率弹反,子弹弹反后造成乾坤剑的$rate伤害。
每次格挡最多化解$count个子弹,
@@ -52,6 +53,7 @@ typeTopic = 3
text = "[center]进行[b]格挡[/b],化解飞来的子弹。
每成功格挡一次,获得一点[b]气力[/b]。
每拥有一点气力,增加[color=yellow]1[/color]点冲刺初速度,闪避穿过敌人时对其贴上一层[b]符咒[/b],符咒会自动引爆,召唤[b]乾坤剑[/b]穿透敌人。
近战攻击造成乾坤剑的[color=cyan]25.0%[/color]点伤害。
每次格挡有[color=cyan]25.0%[/color]的概率弹反,子弹弹反后造成乾坤剑的[color=cyan]25.0%[/color]伤害。
每次格挡最多化解[color=cyan]1[/color]个子弹,