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

feat(子弹): 添加招架子弹的招架率参数

为招架子弹添加可配置的招架率参数,允许控制子弹成功招架的概率
修改招架特效生成位置,使其在招架时更明显
调整测试波次数据以便于开发测试
This commit is contained in:
2026-03-17 06:49:46 +08:00
parent 2722a123ca
commit 88a9fd5fff
4 changed files with 33 additions and 7 deletions
+25
View File
@@ -40,6 +40,18 @@ tracks/2/keys = {
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("%texture/..:parryRate")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_ksxds"]
resource_name = "spawn"
@@ -78,6 +90,18 @@ tracks/2/keys = {
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("%texture/..:parryRate")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [1.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k4ctn"]
_data = {
@@ -90,6 +114,7 @@ size = Vector2(54, 204)
[node name="Parrier" instance=ExtResource("1_57y3f")]
script = ExtResource("2_li4th")
parryRate = 1.0
baseDamage = 0.0
penerate = 1.0
autoSpawnAnimation = true
-1
View File
@@ -79,7 +79,6 @@ libraries = {
}
[node name="texture" type="AnimatedSprite2D" parent="." index="3"]
modulate = Color(0.5922946, 1, 0.5, 1)
scale = Vector2(0.5, 0.5)
sprite_frames = SubResource("SpriteFrames_qcypm")
frame = 7
+7 -5
View File
@@ -1,10 +1,12 @@
extends BulletBase
class_name ParrierBullet
@export var parryRate: float = 1
func hitBullet(bullet: BulletBase):
if BulletTool.canDamage(bullet, launcher):
var eff = EffectController.create(ComponentManager.getEffect("Parry"), position)
eff.modulate = bullet.modulate
eff.shot()
bullet.tryDestroy()
tryDestroy()
if MathTool.rate(parryRate):
var eff = EffectController.create(ComponentManager.getEffect("Parry"), position + (bullet.position - position).normalized() * 100)
eff.modulate = bullet.modulate
eff.shot()
bullet.tryDestroy()
+1 -1
View File
@@ -47,7 +47,7 @@ static var WAVE_TESTBOSS_CHICK = [
Wave.create("Chick", 0, 0, true, 0, INF, 10),
]
static var WAVE_EMPTY = []
static var data = WAVE_NORMAL if WorldManager.isRelease() else WAVE_NORMAL
static var data = WAVE_NORMAL if WorldManager.isRelease() else WAVE_TESTBOSS_BEAR
static func create(
entity_: String,