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

feat(角色): 调整KukeMC攻击模式和子弹效果

- 减少攻击2的子弹数量范围从60-80改为20-40
- 增加子弹生成间隔时间从50ms改为100ms
- 为HeavyCrystal子弹添加新的动画效果和材质
- 添加垂直编辑引导线到角色元数据
This commit is contained in:
2025-09-17 22:35:16 +08:00
parent 3d8736d50e
commit 63963fd5fd
3 changed files with 112 additions and 8 deletions
@@ -1,16 +1,119 @@
[gd_scene load_steps=5 format=3 uid="uid://dxd6ikymj0fge"]
[gd_scene load_steps=10 format=3 uid="uid://dxd6ikymj0fge"]
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_mf7ha"]
[ext_resource type="Script" path="res://scripts/Statemachine/ShaderStage.gd" id="2_75div"]
[ext_resource type="Texture2D" uid="uid://c7hyatbuieaj" path="res://resources/bullets/purple-crystal/frames/0.svg" id="2_ghoc2"]
[ext_resource type="Shader" path="res://shaders/Ring.gdshader" id="2_utujj"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_1i43q"]
shader = ExtResource("2_utujj")
shader_parameter/inner = 0.5
shader_parameter/outer = 0.75
shader_parameter/inner = 0.95
shader_parameter/outer = 1.0
[node name="BulletBase" instance=ExtResource("1_mf7ha")]
[sub_resource type="SpriteFrames" id="SpriteFrames_e150r"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_ghoc2")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[node name="track" type="Node2D" parent="texture" index="1"]
[sub_resource type="Animation" id="Animation_qobcv"]
resource_name = "spawn"
length = 0.3
step = 0.1
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("%texture/..:scale:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(2, -0.15, 0, 0.15, 0, 1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 0.3)
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("%texture/..:scale:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(2, -0.15, 0, 0.15, 0, 1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 0.3)
}
tracks/2/type = "bezier"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("%texture/..:modulate:a")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(0, -0.15, 0, 0.15, 0, 1, -0.15, 0, 0.15, 0),
"times": PackedFloat32Array(0, 0.3)
}
[sub_resource type="Animation" id="Animation_dwk2v"]
length = 0.001
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("%texture/..:scale:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("%texture/..:scale:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/2/type = "bezier"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("%texture/..:modulate:a")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(1, -0.15, 0, 0.15, 0),
"times": PackedFloat32Array(0)
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_mdce7"]
_data = {
"RESET": SubResource("Animation_dwk2v"),
"spawn": SubResource("Animation_qobcv")
}
[node name="HeavyCrystal" instance=ExtResource("1_mf7ha")]
[node name="track" type="Node2D" parent="." index="0"]
material = SubResource("ShaderMaterial_1i43q")
script = ExtResource("2_75div")
size = Vector2(150, 150)
color = Color(0.451438, 0.278306, 1.44392e-07, 1)
[node name="texture" parent="." index="1"]
position = Vector2(73, 0)
sprite_frames = SubResource("SpriteFrames_e150r")
[node name="animator" parent="texture" index="0"]
libraries = {
"": SubResource("AnimationLibrary_mdce7")
}
+1
View File
@@ -29,6 +29,7 @@ size = Vector2(150, 150)
[node name="KukeMC" instance=ExtResource("1_r4q7y")]
script = ExtResource("2_s2dg5")
displayName = "酷可mc"
metadata/_edit_vertical_guides_ = [76.0]
[node name="collect" parent="sounds" index="4"]
stream = null
+3 -3
View File
@@ -38,10 +38,10 @@ func attack(type):
child.currentFocusedBoss = currentFocusedBoss
child.masterMine = self
elif type == 2:
var count = randi_range(60, 80)
var count = randi_range(20, 40)
for i in count:
var count1 = 3
for j in count1:
fields[FieldStore.Entity.OFFSET_SHOOT] = 0
BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), self, findWeaponAnchor("normal"), 360.0 / count * i + 360.0 / count1 * j)
await TickTool.millseconds(50)
BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), self, findWeaponAnchor("normal"), deg_to_rad(360.0 / count * i + 360.0 / count1 * j))
await TickTool.millseconds(100)