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

feat(角色): 添加Gobo角色及相关资源

添加Gobo角色,包括武器、召唤物和治疗导弹功能
- 新增Gobo角色模型和动画资源
- 实现Gobo武器系统,可召唤Gobo单位
- 添加治疗导弹功能,Gobo受伤时会发射治疗友军
- 优化实体基础类,添加生命值初始化方法
- 修改子弹伤害判定逻辑,支持友军伤害设置
This commit is contained in:
2026-01-28 20:20:55 +08:00
parent df661d38e5
commit 4990a3e300
22 changed files with 410 additions and 9 deletions
+27
View File
@@ -0,0 +1,27 @@
[gd_scene load_steps=5 format=3 uid="uid://ds6yxgj6r8f4v"]
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_1wl5l"]
[ext_resource type="Texture2D" uid="uid://dpvk6pja35rdb" path="res://resources/items/apple-white.png" id="2_0jb7f"]
[ext_resource type="Script" uid="uid://d2ubbdwexom6t" path="res://scripts/Contents/Bullets/HealingMissle.gd" id="2_nxr84"]
[sub_resource type="SpriteFrames" id="SpriteFrames_nxr84"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_0jb7f")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[node name="HealingMissle" instance=ExtResource("1_1wl5l")]
script = ExtResource("2_nxr84")
speed = 1.0
lifeTime = 5000.0
allowFriendlyDamage = true
[node name="texture" parent="." index="0"]
modulate = Color(0.0068707466, 1, 0, 1)
scale = Vector2(0.44360867, 0.44360867)
sprite_frames = SubResource("SpriteFrames_nxr84")
+7 -3
View File
@@ -1,8 +1,9 @@
[gd_scene load_steps=14 format=3 uid="uid://dky8574uqc18r"]
[gd_scene load_steps=15 format=3 uid="uid://dky8574uqc18r"]
[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://dldnbpubu2jgm" path="res://components/Weapons/GrassWall.tscn" id="3_0omr3"]
[ext_resource type="PackedScene" uid="uid://blwoev5sencdh" path="res://components/Weapons/Gobo.tscn" id="3_jluqw"]
[ext_resource type="PackedScene" uid="uid://c0n3igy4hucrg" path="res://components/Weapons/PurpleCrystal.tscn" id="3_joj4g"]
[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"]
@@ -59,10 +60,13 @@ metadata/_edit_vertical_guides_ = [71.0]
[node name="weaponStore" parent="." index="1"]
process_mode = 4
[node name="PurpleCrystal" parent="weaponStore" index="0" instance=ExtResource("3_joj4g")]
[node name="Gobo" parent="weaponStore" index="0" instance=ExtResource("3_jluqw")]
offset_bottom = 446.0
[node name="PurpleCrystal" parent="weaponStore" index="1" instance=ExtResource("3_joj4g")]
offset_bottom = 350.0
[node name="GrassWall" parent="weaponStore" index="1" instance=ExtResource("3_0omr3")]
[node name="GrassWall" parent="weaponStore" index="2" instance=ExtResource("3_0omr3")]
[node name="sprint" parent="sounds" index="0"]
stream = ExtResource("4_66s6c")
+46
View File
@@ -0,0 +1,46 @@
[gd_scene load_steps=7 format=3 uid="uid://b2ilo4ag801m2"]
[ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_hgynr"]
[ext_resource type="Texture2D" uid="uid://xen2edbhf052" path="res://resources/characters/gobo/gobo-a.svg" id="2_e0tdx"]
[ext_resource type="Script" uid="uid://cqax27sw0wlme" path="res://scripts/Contents/Summons/Gobo.gd" id="2_ftr65"]
[ext_resource type="Texture2D" uid="uid://s12imwmfics6" path="res://resources/characters/gobo/gobo-b.svg" id="3_ftr65"]
[ext_resource type="Texture2D" uid="uid://d38bjxoowbg7t" path="res://resources/characters/gobo/gobo-c.svg" id="4_w2qsx"]
[sub_resource type="SpriteFrames" id="SpriteFrames_0xeeo"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_e0tdx")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_e0tdx")
}, {
"duration": 1.0,
"texture": ExtResource("3_ftr65")
}, {
"duration": 1.0,
"texture": ExtResource("4_w2qsx")
}],
"loop": true,
"name": &"walk",
"speed": 5.0
}]
[node name="Gobo" instance=ExtResource("1_hgynr")]
script = ExtResource("2_ftr65")
attraction = 0.0
displayName = "Gobo"
[node name="texture" parent="." index="3"]
sprite_frames = SubResource("SpriteFrames_0xeeo")
animation = &"walk"
frame = 2
frame_progress = 0.92641157
[node name="statebar" parent="." index="4"]
position = Vector2(0, -122)
+39
View File
@@ -0,0 +1,39 @@
[gd_scene load_steps=4 format=3 uid="uid://blwoev5sencdh"]
[ext_resource type="PackedScene" uid="uid://ckq2cq6m23hq3" path="res://components/Abstracts/WeaponCardBase.tscn" id="1_0udcw"]
[ext_resource type="Script" uid="uid://cbg3xkg1giv35" path="res://scripts/Contents/Weapons/Gobo.gd" id="2_7yxbe"]
[ext_resource type="Texture2D" uid="uid://xen2edbhf052" path="res://resources/characters/gobo/gobo-a.svg" id="2_tw58e"]
[node name="Gobo" instance=ExtResource("1_0udcw")]
script = ExtResource("2_7yxbe")
avatarTexture = ExtResource("2_tw58e")
displayName = "Gobo"
quality = 4
typeTopic = 4
store = {
"atk": 50,
"health": 200,
"percent": 0.1
}
storeType = {
"atk": 1,
"health": 1,
"percent": 2
}
descriptionTemplate = "召唤[b]Gobo[/b]Gobo会自主行动,每受到$atk点伤害后会发射一枚[b]疗愈导弹[/b]。
[b]疗愈导弹[/b]命中障碍物或友军时对其产生Gobo剩余生命值×$percent点的治疗。
Gobo初始拥有$health点生命值。"
cooldown = 1000.0
[node name="avatar" parent="container/info" index="0"]
texture = ExtResource("2_tw58e")
[node name="name" parent="container/info" index="2"]
displayName = "Gobo"
quality = 4
typeTopic = 4
[node name="description" parent="container" index="2"]
text = "[center]召唤[b]Gobo[/b]Gobo会自主行动,每受到[color=cyan]50[/color]点伤害后会发射一枚[b]疗愈导弹[/b]。
[b]疗愈导弹[/b]命中障碍物或友军时对其产生Gobo剩余生命值×[color=cyan]10.0%[/color]点的治疗。
Gobo初始拥有[color=cyan]200[/color]点生命值。[/center]"