feat(hero-system): 新增5名英雄扩展英雄池

本次提交完成了英雄池扩展的核心开发:
1.  在heroSet.ts中新增5012不死小强、5022嗜血剑客、5032战术弓手、5052护盾牧师、5061战歌法师共5名新英雄配置
2.  更新HeroList启用全部新英雄,覆盖自愈坦克、暴击刺客、团队暴击辅助、开场护盾法师、驻场光环法师五个定位
3.  新增对应的prefab元文件并替换旧有UI元素配置
4.  附带设计规范文档记录本次扩展的详细规则与平衡调整
This commit is contained in:
panFD
2026-07-25 17:32:17 +08:00
parent 5cfbd3315e
commit 9c520cf917
12 changed files with 19985 additions and 24942 deletions

View File

@@ -8,6 +8,6 @@
],
"subMetas": {},
"userData": {
"syncNodeName": "equip"
"syncNodeName": "cEquip"
}
}

View File

@@ -2,12 +2,12 @@
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "2986f629-e688-418c-9bfc-806485474e36",
"uuid": "abae16b3-c2a2-4971-95b1-fc121f769554",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "item"
"syncNodeName": "cItem"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,13 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "78a5b2d1-a34b-4190-895d-7d0aa22037cc",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "cSkill"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,13 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "101841f1-5f9a-4115-964f-5a6ca92a0e46",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "equip-001"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -22,41 +22,41 @@
"__id__": 2
},
{
"__id__": 86
"__id__": 88
},
{
"__id__": 102
"__id__": 104
},
{
"__id__": 110
"__id__": 112
},
{
"__id__": 118
"__id__": 120
},
{
"__id__": 126
"__id__": 128
},
{
"__id__": 132
"__id__": 134
},
{
"__id__": 138
"__id__": 142
},
{
"__id__": 146
"__id__": 150
}
],
"_active": true,
"_components": [
{
"__id__": 152
"__id__": 156
},
{
"__id__": 154
"__id__": 158
}
],
"_prefab": {
"__id__": 156
"__id__": 160
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -116,10 +116,13 @@
"_components": [
{
"__id__": 83
},
{
"__id__": 85
}
],
"_prefab": {
"__id__": 85
"__id__": 87
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -1975,6 +1978,42 @@
"__type__": "cc.CompPrefabInfo",
"fileId": "44Ed4eH0lI5Kssdq2dPzke"
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 2
},
"_enabled": true,
"__prefab": {
"__id__": 86
},
"_alignFlags": 45,
"_target": null,
"_left": 0,
"_right": 0,
"_top": 0,
"_bottom": 0,
"_horizontalCenter": 0,
"_verticalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 80,
"_originalHeight": 80,
"_alignMode": 2,
"_lockFlags": 0,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "18zuChgCtJMJcsGZMZXNa3"
},
{
"__type__": "cc.PrefabInfo",
"root": {
@@ -1998,14 +2037,11 @@
},
"_children": [
{
"__id__": 87
"__id__": 89
}
],
"_active": false,
"_components": [
{
"__id__": 93
},
{
"__id__": 95
},
@@ -2014,10 +2050,13 @@
},
{
"__id__": 99
},
{
"__id__": 101
}
],
"_prefab": {
"__id__": 101
"__id__": 103
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -2054,20 +2093,20 @@
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 86
"__id__": 88
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 88
"__id__": 90
},
{
"__id__": 90
"__id__": 92
}
],
"_prefab": {
"__id__": 92
"__id__": 94
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -2104,11 +2143,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 87
"__id__": 89
},
"_enabled": true,
"__prefab": {
"__id__": 89
"__id__": 91
},
"_contentSize": {
"__type__": "cc.Size",
@@ -2132,11 +2171,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 87
"__id__": 89
},
"_enabled": true,
"__prefab": {
"__id__": 91
"__id__": 93
},
"_customMaterial": null,
"_srcBlendFactor": 2,
@@ -2193,11 +2232,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 86
"__id__": 88
},
"_enabled": true,
"__prefab": {
"__id__": 94
"__id__": 96
},
"_contentSize": {
"__type__": "cc.Size",
@@ -2221,11 +2260,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 86
"__id__": 88
},
"_enabled": true,
"__prefab": {
"__id__": 96
"__id__": 98
},
"_type": 3,
"_inverted": false,
@@ -2243,11 +2282,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 86
"__id__": 88
},
"_enabled": true,
"__prefab": {
"__id__": 98
"__id__": 100
},
"_alignFlags": 45,
"_target": null,
@@ -2279,11 +2318,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 86
"__id__": 88
},
"_enabled": true,
"__prefab": {
"__id__": 100
"__id__": 102
},
"_customMaterial": null,
"_srcBlendFactor": 2,
@@ -2345,18 +2384,18 @@
"_children": [],
"_active": false,
"_components": [
{
"__id__": 103
},
{
"__id__": 105
},
{
"__id__": 107
},
{
"__id__": 109
}
],
"_prefab": {
"__id__": 109
"__id__": 111
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -2393,11 +2432,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 102
"__id__": 104
},
"_enabled": true,
"__prefab": {
"__id__": 104
"__id__": 106
},
"_contentSize": {
"__type__": "cc.Size",
@@ -2421,11 +2460,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 102
"__id__": 104
},
"_enabled": true,
"__prefab": {
"__id__": 106
"__id__": 108
},
"_customMaterial": null,
"_srcBlendFactor": 2,
@@ -2466,11 +2505,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 102
"__id__": 104
},
"_enabled": true,
"__prefab": {
"__id__": 108
"__id__": 110
},
"_alignFlags": 45,
"_target": null,
@@ -2520,18 +2559,18 @@
"_children": [],
"_active": false,
"_components": [
{
"__id__": 111
},
{
"__id__": 113
},
{
"__id__": 115
},
{
"__id__": 117
}
],
"_prefab": {
"__id__": 117
"__id__": 119
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -2568,11 +2607,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 110
"__id__": 112
},
"_enabled": true,
"__prefab": {
"__id__": 112
"__id__": 114
},
"_contentSize": {
"__type__": "cc.Size",
@@ -2596,11 +2635,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 110
"__id__": 112
},
"_enabled": true,
"__prefab": {
"__id__": 114
"__id__": 116
},
"_customMaterial": null,
"_srcBlendFactor": 2,
@@ -2641,11 +2680,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 110
"__id__": 112
},
"_enabled": true,
"__prefab": {
"__id__": 116
"__id__": 118
},
"_alignFlags": 45,
"_target": null,
@@ -2695,18 +2734,18 @@
"_children": [],
"_active": false,
"_components": [
{
"__id__": 119
},
{
"__id__": 121
},
{
"__id__": 123
},
{
"__id__": 125
}
],
"_prefab": {
"__id__": 125
"__id__": 127
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -2743,11 +2782,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 118
"__id__": 120
},
"_enabled": true,
"__prefab": {
"__id__": 120
"__id__": 122
},
"_contentSize": {
"__type__": "cc.Size",
@@ -2771,11 +2810,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 118
"__id__": 120
},
"_enabled": true,
"__prefab": {
"__id__": 122
"__id__": 124
},
"_customMaterial": null,
"_srcBlendFactor": 2,
@@ -2816,11 +2855,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 118
"__id__": 120
},
"_enabled": true,
"__prefab": {
"__id__": 124
"__id__": 126
},
"_alignFlags": 45,
"_target": null,
@@ -2871,14 +2910,14 @@
"_active": true,
"_components": [
{
"__id__": 127
"__id__": 129
},
{
"__id__": 129
"__id__": 131
}
],
"_prefab": {
"__id__": 131
"__id__": 133
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -2915,11 +2954,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 126
"__id__": 128
},
"_enabled": true,
"__prefab": {
"__id__": 128
"__id__": 130
},
"_contentSize": {
"__type__": "cc.Size",
@@ -2943,11 +2982,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 126
"__id__": 128
},
"_enabled": true,
"__prefab": {
"__id__": 130
"__id__": 132
},
"_customMaterial": null,
"_srcBlendFactor": 2,
@@ -3007,14 +3046,17 @@
"_active": true,
"_components": [
{
"__id__": 133
"__id__": 135
},
{
"__id__": 135
"__id__": 137
},
{
"__id__": 139
}
],
"_prefab": {
"__id__": 137
"__id__": 141
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -3051,16 +3093,16 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 132
"__id__": 134
},
"_enabled": true,
"__prefab": {
"__id__": 134
"__id__": 136
},
"_contentSize": {
"__type__": "cc.Size",
"width": 78,
"height": 78
"width": 83.33333333333334,
"height": 83.33333333333334
},
"_anchorPoint": {
"__type__": "cc.Vec2",
@@ -3079,11 +3121,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 132
"__id__": 134
},
"_enabled": true,
"__prefab": {
"__id__": 136
"__id__": 138
},
"_customMaterial": null,
"_srcBlendFactor": 2,
@@ -3121,6 +3163,42 @@
"__type__": "cc.CompPrefabInfo",
"fileId": "075wC9BqZNpKBHWkkHGa0w"
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 134
},
"_enabled": true,
"__prefab": {
"__id__": 140
},
"_alignFlags": 45,
"_target": null,
"_left": 15,
"_right": 15,
"_top": 15,
"_bottom": 15,
"_horizontalCenter": 0,
"_verticalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 78,
"_originalHeight": 78,
"_alignMode": 2,
"_lockFlags": 0,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "979E8VFL1G3qbMjoTp5l0c"
},
{
"__type__": "cc.PrefabInfo",
"root": {
@@ -3145,18 +3223,18 @@
"_children": [],
"_active": false,
"_components": [
{
"__id__": 139
},
{
"__id__": 141
},
{
"__id__": 143
},
{
"__id__": 145
},
{
"__id__": 147
}
],
"_prefab": {
"__id__": 145
"__id__": 149
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -3193,11 +3271,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 138
"__id__": 142
},
"_enabled": true,
"__prefab": {
"__id__": 140
"__id__": 144
},
"_contentSize": {
"__type__": "cc.Size",
@@ -3221,11 +3299,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 138
"__id__": 142
},
"_enabled": true,
"__prefab": {
"__id__": 142
"__id__": 146
},
"_customMaterial": null,
"_srcBlendFactor": 2,
@@ -3269,11 +3347,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 138
"__id__": 142
},
"_enabled": true,
"__prefab": {
"__id__": 144
"__id__": 148
},
"_alignFlags": 45,
"_target": null,
@@ -3324,14 +3402,14 @@
"_active": false,
"_components": [
{
"__id__": 147
"__id__": 151
},
{
"__id__": 149
"__id__": 153
}
],
"_prefab": {
"__id__": 151
"__id__": 155
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -3368,11 +3446,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 146
"__id__": 150
},
"_enabled": true,
"__prefab": {
"__id__": 148
"__id__": 152
},
"_contentSize": {
"__type__": "cc.Size",
@@ -3396,11 +3474,11 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 146
"__id__": 150
},
"_enabled": true,
"__prefab": {
"__id__": 150
"__id__": 154
},
"_customMaterial": null,
"_srcBlendFactor": 2,
@@ -3481,7 +3559,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 153
"__id__": 157
},
"_contentSize": {
"__type__": "cc.Size",
@@ -3509,17 +3587,17 @@
},
"_enabled": true,
"__prefab": {
"__id__": 155
"__id__": 159
},
"icon_node": {
"__id__": 132
"__id__": 134
},
"bg_node": {
"__id__": 2
},
"info_label": null,
"cd_mask": {
"__id__": 138
"__id__": 142
},
"_id": ""
},

View File

@@ -241,6 +241,24 @@ export const HeroInfo: Record<number, heroInfo> = {
},
info: "每受击3次为自身添加护盾层数随等级4→5→66级起每受击5次回复攻击力250%生命"
},
5012: {
uuid: 5012, name: "不死小强", path: "hk2", fac: FacSet.HERO, pool_lv: 2, lv: 1, type: HType.Melee, hp: 600, ap: 57,
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
atked: [{ s_uuid: 6302, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 250 } }],
evolve: {
2: { atked: [{ s_uuid: 6302, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 300 } }] },
3: { hp_bonus: 150 },
4: { atked: [{ s_uuid: 6302, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 350 } }] },
5: { atked: [{ s_uuid: 6302, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 350 } }] },
6: {
atked: [
{ s_uuid: 6302, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 350 } },
{ s_uuid: 6301, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 4 } },
]
},
},
info: "每受击3次回复自身攻击力250%生命2级治疗量300%4级350%5级触发阈值降至2次6级起每受击5次为自身添加4层护盾"
},
// 以下英雄暂时注释,保留待后续扩展
// 5012:{uuid:5012,name:"不死小强",path:"hk2", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Melee,hp:600,ap:57,
// skills:{6001:{uuid:6001,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Slow3].cd,ccd:0}},
@@ -290,6 +308,37 @@ export const HeroInfo: Record<number, heroInfo> = {
},
info: "每攻击5次永久提升自身攻击力8→10→125级起每4次6级起每攻击7次永久+20%暴击伤害"
},
5022: {
uuid: 5022, name: "嗜血剑客", path: "hc2", fac: FacSet.HERO, pool_lv: 3, lv: 1, type: HType.Melee, hp: 900, ap: 85,
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast2].cd, ccd: 0 } },
atking: [
{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 15, buff_duration: 5 } },
{ s_uuid: 6401, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 12 } }
],
evolve: {
2: { atking: [
{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 20, buff_duration: 5 } },
{ s_uuid: 6401, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 12 } }
]},
3: { ap_bonus: 20, hp_bonus: 80 },
4: { atking: [
{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 20, buff_duration: 6 } },
{ s_uuid: 6401, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 15 } }
]},
5: { atking: [
{ s_uuid: 6403, t_num: 4, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 20, buff_duration: 6 } },
{ s_uuid: 6401, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 15 } }
]},
6: {
atking: [
{ s_uuid: 6403, t_num: 4, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 20, buff_duration: 6 } },
{ s_uuid: 6401, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 15 } },
{ s_uuid: 6404, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 15 } },
]
},
},
info: "每攻击5次自身获得+15%暴击率持续5秒每攻击7次永久+12攻击力2级暴击+20%4级持续6秒且攻击+155级暴击触发阈值降至4次6级起每攻击7次永久+15%暴伤"
},
// 5022: {
// uuid: 5022, name: "嗜血剑客", path: "hc2", fac: FacSet.HERO, pool_lv: 3, lv: 1, type: HType.Melee, hp: 900, ap: 85,
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast2].cd, ccd: 0 } },
@@ -325,6 +374,24 @@ export const HeroInfo: Record<number, heroInfo> = {
},
info: "每攻击5次为随机队友永久提升攻击力8→10→125级起2名6级起全队攻击速度+10%"
},
5032: {
uuid: 5032, name: "战术弓手", path: "ha2", fac: FacSet.HERO, pool_lv: 3, lv: 1, type: HType.Long, hp: 430, ap: 120,
skills: { 6008: { uuid: 6008, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal1].cd, ccd: 0 } },
atking: [{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7012, buff_value: 10, buff_duration: 5 } }],
evolve: {
2: { atking: [{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7012, buff_value: 12, buff_duration: 5 } }] },
3: { hp_bonus: 80 },
4: { atking: [{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7012, buff_value: 12, buff_duration: 6 } }] },
5: { atking: [{ s_uuid: 6403, t_num: 4, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7012, buff_value: 12, buff_duration: 6 } }] },
6: {
atking: [
{ s_uuid: 6403, t_num: 4, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7012, buff_value: 12, buff_duration: 6 } },
{ s_uuid: 6404, t_num: 7, overrides: { TGroup: TGroup.Team, hit_count: 3, ap: 12 } },
]
},
},
info: "每攻击5次为随机3名队友提供+10%暴击率持续5秒2级+12%4级目标数4名且持续6秒5级触发阈值降至4次6级起每攻击7次为随机3名队友永久+12%暴伤"
},
// 5032: {
// uuid: 5032, name: "战术弓手", path: "ha2", fac: FacSet.HERO, pool_lv: 3, lv: 1, type: HType.Long, hp: 430, ap: 120,
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal1].cd, ccd: 0 } },
@@ -420,6 +487,19 @@ export const HeroInfo: Record<number, heroInfo> = {
},
info: "战斗开始时全队攻击力限时提升(+30/5s→+60/7s→+90/10s6级起全队暴击率+20%(驻场)"
},
5052: {
uuid: 5052, name: "护盾牧师", path: "hm2", fac: FacSet.HERO, pool_lv: 2, lv: 1, type: HType.Long, hp: 287, ap: 80,
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow1].cd, ccd: 0 } },
fstart: [{ s_uuid: 6301, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 3 } }],
evolve: {
2: { fstart: [{ s_uuid: 6301, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 4 } }] },
3: { hp_bonus: 80 },
4: { fstart: [{ s_uuid: 6301, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } }] },
5: { fstart: [{ s_uuid: 6301, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 6 } }] },
6: { field: [7007] },
},
info: "战斗开始时为全队添加3层护盾2级4层4级5层5级6层6级起全队最大生命值+10%(驻场)"
},
// 5052: {
// uuid: 5052, name: "护盾牧师", path: "hm2", fac: FacSet.HERO, pool_lv: 2, lv: 1, type: HType.Long, hp: 287, ap: 80,
// skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow1].cd, ccd: 0 } },
@@ -465,6 +545,19 @@ export const HeroInfo: Record<number, heroInfo> = {
// field: [7015],
// info: "驻场期间全队死亡触发技能次数+1死亡后光环消失"
// },
5061: {
uuid: 5061, name: "战歌法师", path: "hm3", fac: FacSet.HERO, pool_lv: 3, lv: 1, type: HType.Long, hp: 430, ap: 120,
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid2].cd, ccd: 0 } },
field: [7002],
evolve: {
2: { field: [7202] },
3: { hp_bonus: 80 },
4: { field: [7202, 7006] },
5: { field: [7202, 7206] },
6: { field: [7202, 7206, 7007] },
},
info: "驻场期间全队攻击力+10%2级+20%4级追加攻击速度+10%5级攻速+20%6级追加最大生命值+10%"
},
// ========== fend + atking 类(辅助 · 治疗续航 + 波次增益) ==========
5071: {
@@ -601,21 +694,25 @@ export const HeroInfo: Record<number, heroInfo> = {
export const HeroList: number[] = [
// atked 类(战士 · 自身强化)
5011,
// 5012, 5013, 5014, 5015, 5016,
5012,
// 5013, 5014, 5015, 5016,
// atking 刺客(自身强化)
5021,
// 5022, 5023,
5022,
// 5023,
// atking 射手(队友强化)
5031,
// 5032, 5033,
5032,
// 5033,
// dead 类(死亡遗产)
// 5041, 5042, 5043, 5044,
5045,
// fstart 类(法师 · 战前增益)
5051,
// 5052, 5053, 5054, 5055, 5056,
5052,
// 5053, 5054, 5055, 5056,
// field 类(法师 · 驻场光环)
// 5061,
5061,
// fend + atking 类(辅助 · 治疗 + 波次增益)
5071,
// 5072, 5073, 5074, 5075,

View File

@@ -0,0 +1,204 @@
# Quick Design Spec: 英雄池扩展5 名新英雄)
**Type**: Addition
**System**: 英雄/技能配置系统(`assets/script/game/common/config/heroSet.ts``SkillSet.ts`
**GDD Reference**: 暂无项目级 GDD本规范作为该系统的临时设计依据。
**Date**: 2026-07-25
## Change Summary
基于现有 `evolve` 成长框架和技能底座(治疗/护盾/攻击强化/暴击强化/暴伤强化/驻场光环),新增 5 名英雄,覆盖当前未启用的「自愈战士」「暴击刺客」「团队暴击弓手」「开场护盾法师」「驻场光环法师」五个定位,使英雄池从 6 名扩展至 11 名。
## Motivation
当前启用英雄仅 6 名,覆盖流派有限:
- 战士仅有护盾型5011和遗志型5045缺少自回复型前排。
- 刺客/弓手缺少暴击流派。
- 法师仅有战前限时 AP 一种形态,缺少护盾、光环等形态。
新增英雄可在不改动系统机制的前提下,丰富阵容搭配和流派发现空间。
## Design Delta
现有 `heroSet.ts` 头部注释定义的触发类型底座规则:
> `atked` 战士 受击触发,效果作用于自身,越挨打越强
> `atking` 刺客 攻击触发自身强化;射手 攻击触发队友强化
> `fstart` 法师 战斗开始前触发一次,必然生效的全队增益
> `field` 法师 驻场光环,存活期间持续生效,死亡消失
本规范在该底座上新增 5 名角色,每名角色专注单一效果,并通过 `evolve` 在 2/3/4/5/6 级逐步解锁强化。
## New Rules / Values
### 通用设计约定
- 所有新英雄继承现有 `heroInfo` 接口,使用 `skills[0]` 作为普通攻击。
- `evolve` 为整体替换且逐级顺序应用;高级别需写出完整触发数组。
- 等级成长节奏2/4 级强化主效果数值3/5 级补充属性加成6 级解锁第二机制或驻场光环。
- 新英雄加入 `HeroList` 启用。
### 英雄 15012 不死小强
**定位**:近战 · 自愈坦克
**触发**`atked` 自身回血
**基础属性**pool_lv 2hp 600ap 57type Melee普攻 cd 1.8sSlow3
```ts
5012: {
uuid: 5012, name: "不死小强", path: "hk2", fac: FacSet.HERO, pool_lv: 2, lv: 1, type: HType.Melee, hp: 600, ap: 57,
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow3].cd, ccd: 0 } },
atked: [{ s_uuid: 6302, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 250 } }],
evolve: {
2: { atked: [{ s_uuid: 6302, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 300 } }] },
3: { hp_bonus: 150 },
4: { atked: [{ s_uuid: 6302, t_num: 3, overrides: { TGroup: TGroup.Self, ap: 350 } }] },
5: { atked: [{ s_uuid: 6302, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 350 } }] },
6: {
atked: [
{ s_uuid: 6302, t_num: 2, overrides: { TGroup: TGroup.Self, ap: 350 } },
{ s_uuid: 6301, t_num: 5, overrides: { TGroup: TGroup.Self, ap: 4 } },
]
},
},
info: "每受击3次回复自身攻击力250%生命2级治疗量300%4级350%5级触发阈值降至2次6级起每受击5次为自身添加4层护盾"
}
```
### 英雄 25022 嗜血剑客
**定位**:近战 · 暴击刺客
**触发**`atking` 自身暴击 + 攻击力
**基础属性**pool_lv 3hp 900ap 85type Melee普攻 cd 0.5sFast2
```ts
5022: {
uuid: 5022, name: "嗜血剑客", path: "hc2", fac: FacSet.HERO, pool_lv: 3, lv: 1, type: HType.Melee, hp: 900, ap: 85,
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Fast2].cd, ccd: 0 } },
atking: [
{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 15, buff_duration: 5 } },
{ s_uuid: 6401, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 12 } }
],
evolve: {
2: { atking: [
{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 20, buff_duration: 5 } },
{ s_uuid: 6401, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 12 } }
]},
3: { ap_bonus: 20, hp_bonus: 80 },
4: { atking: [
{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 20, buff_duration: 6 } },
{ s_uuid: 6401, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 15 } }
]},
5: { atking: [
{ s_uuid: 6403, t_num: 4, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 20, buff_duration: 6 } },
{ s_uuid: 6401, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 15 } }
]},
6: {
atking: [
{ s_uuid: 6403, t_num: 4, overrides: { TGroup: TGroup.Self, hit_count: 1, timed_buff_id: 7012, buff_value: 20, buff_duration: 6 } },
{ s_uuid: 6401, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 15 } },
{ s_uuid: 6404, t_num: 7, overrides: { TGroup: TGroup.Self, ap: 15 } },
]
},
},
info: "每攻击5次自身获得+15%暴击率持续5秒每攻击7次永久+12攻击力2级暴击+20%4级持续6秒且攻击+155级暴击触发阈值降至4次6级起每攻击7次永久+15%暴伤"
}
```
### 英雄 35032 战术弓手
**定位**:远程 · 团队暴击辅助
**触发**`atking` 随机队友暴击
**基础属性**pool_lv 3hp 430ap 120type Long普攻 cd 0.8sNormal1使用箭矢 6008
```ts
5032: {
uuid: 5032, name: "战术弓手", path: "ha2", fac: FacSet.HERO, pool_lv: 3, lv: 1, type: HType.Long, hp: 430, ap: 120,
skills: { 6008: { uuid: 6008, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Normal1].cd, ccd: 0 } },
atking: [{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7012, buff_value: 10, buff_duration: 5 } }],
evolve: {
2: { atking: [{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 3, timed_buff_id: 7012, buff_value: 12, buff_duration: 5 } }] },
3: { hp_bonus: 80 },
4: { atking: [{ s_uuid: 6403, t_num: 5, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7012, buff_value: 12, buff_duration: 6 } }] },
5: { atking: [{ s_uuid: 6403, t_num: 4, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7012, buff_value: 12, buff_duration: 6 } }] },
6: {
atking: [
{ s_uuid: 6403, t_num: 4, overrides: { TGroup: TGroup.Team, hit_count: 4, timed_buff_id: 7012, buff_value: 12, buff_duration: 6 } },
{ s_uuid: 6404, t_num: 7, overrides: { TGroup: TGroup.Team, hit_count: 3, ap: 12 } },
]
},
},
info: "每攻击5次为随机3名队友提供+10%暴击率持续5秒2级+12%4级目标数4名且持续6秒5级触发阈值降至4次6级起每攻击7次为随机3名队友永久+12%暴伤"
}
```
### 英雄 45052 护盾牧师
**定位**:远程 · 开场护盾法师
**触发**`fstart` 全队护盾
**基础属性**pool_lv 2hp 287ap 80type Long普攻 cd 1.5sSlow1
```ts
5052: {
uuid: 5052, name: "护盾牧师", path: "hm2", fac: FacSet.HERO, pool_lv: 2, lv: 1, type: HType.Long, hp: 287, ap: 80,
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Slow1].cd, ccd: 0 } },
fstart: [{ s_uuid: 6301, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 3 } }],
evolve: {
2: { fstart: [{ s_uuid: 6301, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 4 } }] },
3: { hp_bonus: 80 },
4: { fstart: [{ s_uuid: 6301, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 5 } }] },
5: { fstart: [{ s_uuid: 6301, t_num: 1, overrides: { TGroup: TGroup.Team, ap: 6 } }] },
6: { field: [7007] },
},
info: "战斗开始时为全队添加3层护盾2级4层4级5层5级6层6级起全队最大生命值+10%(驻场)"
}
```
### 英雄 55061 战歌法师
**定位**:远程 · 驻场光环法师
**触发**`field` 驻场攻击力光环
**基础属性**pool_lv 3hp 430ap 120type Long普攻 cd 1.2sMid2
```ts
5061: {
uuid: 5061, name: "战歌法师", path: "hm3", fac: FacSet.HERO, pool_lv: 3, lv: 1, type: HType.Long, hp: 430, ap: 120,
skills: { 6001: { uuid: 6001, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.Mid2].cd, ccd: 0 } },
field: [7002],
evolve: {
2: { field: [7202] },
3: { hp_bonus: 80 },
4: { field: [7202, 7006] },
5: { field: [7202, 7206] },
6: { field: [7202, 7206, 7007] },
},
info: "驻场期间全队攻击力+10%2级+20%4级追加攻击速度+10%5级攻速+20%6级追加最大生命值+10%"
}
```
## Affected Systems
| System | Impact | Action Required |
|--------|--------|-----------------|
| `heroSet.ts` | 新增 5 名英雄配置,更新 `HeroList` | 实现时写入 |
| `SkillSet.ts` | 复用现有技能 6301/6302/6401/6403/6404 及计时 buff 配置 7012复用驻场 7002/7202/7006/7007 | 无需改动 |
| 抽卡/经济系统 | pool_lv 2-3 英雄加入卡池,需确认出现概率 | 配置侧无需改动,后续平衡检查 |
## 平衡调整说明
- **5022 嗜血剑客**:永久暴击率改为计时暴击 buff每 5 次攻击获得 `+15% 暴击率 / 5s`2 级 `+20% / 5s`4 级 `+20% / 6s`5 级触发阈值降至 4 次;保留永久攻击力与 6 级永久暴伤作为成长副属性。
- **5032 战术弓手**:团队永久暴击率改为计时暴击 buff每 5 次攻击为随机 3 名队友提供 `+10% 暴击率 / 5s`2 级 `+12% / 5s`4 级目标数 4 名且 `+12% / 6s`5 级触发阈值降至 4 次;保留 6 级永久暴伤作为第二机制。
- **5061 战歌法师**:不携带暴击光环,避免与 5022/5032 的暴击主题叠加后收益过高;驻场光环为攻击力 + 攻速 + 生命。
## Acceptance Criteria
- [ ] `HeroInfo` 中 5012/5022/5032/5052/5061 配置与本文案一致
- [ ] `HeroList` 包含上述 5 个 uuid
- [ ] 每名新英雄的 2/3/4/5/6 级成长在游戏中可正常触发
- [ ] 5052 的护盾与 5061 的光环在死亡/离场后正确消失/恢复
- [ ] 无回归:现有 6 名英雄的属性、触发、成长不受影响
## GDD Update Required?
No. 项目暂无 `design/gdd/` 文档,本 Quick Design Spec 作为英雄系统的临时设计依据。后续若建立系统 GDD需将本规范内容合并。