5 Commits

Author SHA1 Message Date
panFD
222dddbb05 refactor(heroBox): 优化英雄升级弹窗展示与UI边框
1.  移除英雄升级确认弹窗冗余的英雄名称变量拼接
2.  调整UI元素的边框偏移参数
3.  给英雄属性描述文本添加黑色描边优化显示效果
4.  更新了多个英雄预制件的节点ID与属性覆盖配置
2026-08-10 10:28:39 +08:00
panFD
2b3a68fb2a refactor: 统一游戏文本标点格式,优化UI显示
1.  替换全角逗号为半角逗号,修正技能描述、英雄介绍中的标点一致性
2.  调整弹窗预制体尺寸与布局参数,适配新的UI显示需求
3.  优化技能名称富文本样式与光环档位显示逻辑
4.  清理冗余的prefab实例配置字段
2026-08-09 20:40:19 +08:00
panFD
2872b643f8 feat(ui&config): 优化技能名富文本显示效果
1. 调整技能名高亮色为金黄并添加描边效果,提升视觉层级
2. 封装skillNameRich工具函数统一处理技能名富文本格式
3. 修复英雄prefab布局参数,适配新的文本显示样式
2026-08-09 20:40:10 +08:00
panFD
2d49c82590 refactor(skill): 统一驻场光环的命名展示逻辑
1.  为驻场光环技能添加带"光环"后缀的统一命名,便于玩家识别
2.  新增触发技能名称获取函数,支持高阶光环回退基础命名
3.  重构技能描述构建逻辑,使用英雄语境专属命名覆盖默认名称
2026-08-09 17:19:40 +08:00
panFD
b098db849b refactor(heroDesc): 统一英雄技能描述文案生成逻辑
1.  将原英雄卡片手写的复活/重生描述统一改为通过buildSkillDescMoreRich生成
2.  新增buildHeroDescSource方法构造1级技能描述数据源,保证与英雄信息弹窗文案一致
3.  修正多处技能描述文本,将复活统一改为重生并补充回合重生次数说明
4.  将开局类buff描述改为回合开始,匹配实际生效时机
2026-08-09 17:14:46 +08:00
13 changed files with 1466 additions and 1631 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -22,38 +22,38 @@
"__id__": 2 "__id__": 2
}, },
{ {
"__id__": 10 "__id__": 11
}, },
{ {
"__id__": 22 "__id__": 23
}, },
{ {
"__id__": 34 "__id__": 35
} }
], ],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 45 "__id__": 46
}, },
{ {
"__id__": 47 "__id__": 48
}, },
{ {
"__id__": 49 "__id__": 50
}, },
{ {
"__id__": 51 "__id__": 52
}, },
{ {
"__id__": 53 "__id__": 54
}, },
{ {
"__id__": 55 "__id__": 56
} }
], ],
"_prefab": { "_prefab": {
"__id__": 57 "__id__": 58
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -130,6 +130,9 @@
}, },
{ {
"__id__": 9 "__id__": 9
},
{
"__id__": 10
} }
], ],
"removedComponents": [] "removedComponents": []
@@ -196,6 +199,16 @@
"z": 0 "z": 0
} }
}, },
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 6
},
"propertyPath": [
"_active"
],
"value": false
},
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "anm", "_name": "anm",
@@ -208,23 +221,23 @@
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 11 "__id__": 12
}, },
{ {
"__id__": 13 "__id__": 14
}, },
{ {
"__id__": 15 "__id__": 16
}, },
{ {
"__id__": 17 "__id__": 18
}, },
{ {
"__id__": 19 "__id__": 20
} }
], ],
"_prefab": { "_prefab": {
"__id__": 21 "__id__": 22
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -261,11 +274,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 12 "__id__": 13
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -289,11 +302,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 14 "__id__": 15
}, },
"_id": "" "_id": ""
}, },
@@ -307,11 +320,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 16 "__id__": 17
}, },
"_customMaterial": null, "_customMaterial": null,
"_srcBlendFactor": 2, "_srcBlendFactor": 2,
@@ -355,11 +368,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 18 "__id__": 19
}, },
"playOnLoad": true, "playOnLoad": true,
"_clips": [ "_clips": [
@@ -397,11 +410,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 20 "__id__": 21
}, },
"hitFlashMaterial": { "hitFlashMaterial": {
"__uuid__": "8eee8ab1-fe48-4b22-b956-3f5c18fc4810", "__uuid__": "8eee8ab1-fe48-4b22-b956-3f5c18fc4810",
@@ -449,14 +462,14 @@
"__id__": 1 "__id__": 1
}, },
"_prefab": { "_prefab": {
"__id__": 23 "__id__": 24
}, },
"__editorExtras__": {} "__editorExtras__": {}
}, },
{ {
"__type__": "cc.PrefabInfo", "__type__": "cc.PrefabInfo",
"root": { "root": {
"__id__": 22 "__id__": 23
}, },
"asset": { "asset": {
"__uuid__": "e1b8a315-ece3-41a2-941e-a66861753f1b", "__uuid__": "e1b8a315-ece3-41a2-941e-a66861753f1b",
@@ -464,7 +477,7 @@
}, },
"fileId": "c46/YsCPVOJYA4mWEpNYRx", "fileId": "c46/YsCPVOJYA4mWEpNYRx",
"instance": { "instance": {
"__id__": 24 "__id__": 25
}, },
"targetOverrides": null "targetOverrides": null
}, },
@@ -478,10 +491,7 @@
"mountedComponents": [], "mountedComponents": [],
"propertyOverrides": [ "propertyOverrides": [
{ {
"__id__": 25 "__id__": 26
},
{
"__id__": 27
}, },
{ {
"__id__": 28 "__id__": 28
@@ -496,7 +506,10 @@
"__id__": 31 "__id__": 31
}, },
{ {
"__id__": 33 "__id__": 32
},
{
"__id__": 34
} }
], ],
"removedComponents": [] "removedComponents": []
@@ -504,7 +517,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_name" "_name"
@@ -520,7 +533,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_lpos" "_lpos"
@@ -535,7 +548,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_lrot" "_lrot"
@@ -551,7 +564,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_euler" "_euler"
@@ -566,7 +579,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_active" "_active"
@@ -576,7 +589,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 32 "__id__": 33
}, },
"propertyPath": [ "propertyPath": [
"_contentSize" "_contentSize"
@@ -596,7 +609,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_lscale" "_lscale"
@@ -615,14 +628,14 @@
"__id__": 1 "__id__": 1
}, },
"_prefab": { "_prefab": {
"__id__": 35 "__id__": 36
}, },
"__editorExtras__": {} "__editorExtras__": {}
}, },
{ {
"__type__": "cc.PrefabInfo", "__type__": "cc.PrefabInfo",
"root": { "root": {
"__id__": 34 "__id__": 35
}, },
"asset": { "asset": {
"__uuid__": "50c3d5e4-49f8-4bd7-a15b-cda359a0ae5c", "__uuid__": "50c3d5e4-49f8-4bd7-a15b-cda359a0ae5c",
@@ -630,7 +643,7 @@
}, },
"fileId": "5fqU0L3/FOhKaco5UkHuWT", "fileId": "5fqU0L3/FOhKaco5UkHuWT",
"instance": { "instance": {
"__id__": 36 "__id__": 37
}, },
"targetOverrides": null "targetOverrides": null
}, },
@@ -644,10 +657,7 @@
"mountedComponents": [], "mountedComponents": [],
"propertyOverrides": [ "propertyOverrides": [
{ {
"__id__": 37 "__id__": 38
},
{
"__id__": 39
}, },
{ {
"__id__": 40 "__id__": 40
@@ -659,7 +669,10 @@
"__id__": 42 "__id__": 42
}, },
{ {
"__id__": 44 "__id__": 43
},
{
"__id__": 45
} }
], ],
"removedComponents": [] "removedComponents": []
@@ -667,7 +680,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_name" "_name"
@@ -683,7 +696,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_lpos" "_lpos"
@@ -698,7 +711,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_lrot" "_lrot"
@@ -714,7 +727,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_euler" "_euler"
@@ -729,7 +742,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 43 "__id__": 44
}, },
"propertyPath": [ "propertyPath": [
"_lpos" "_lpos"
@@ -750,7 +763,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_lscale" "_lscale"
@@ -772,7 +785,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 46 "__id__": 47
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -800,10 +813,10 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 48 "__id__": 49
}, },
"anm": { "anm": {
"__id__": 13 "__id__": 14
}, },
"_id": "" "_id": ""
}, },
@@ -821,7 +834,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 50 "__id__": 51
}, },
"debugMode": false, "debugMode": false,
"_id": "" "_id": ""
@@ -840,7 +853,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 52 "__id__": 53
}, },
"enabledContactListener": true, "enabledContactListener": true,
"bullet": false, "bullet": false,
@@ -874,7 +887,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 54 "__id__": 55
}, },
"tag": 0, "tag": 0,
"_group": 4, "_group": 4,
@@ -908,7 +921,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 56 "__id__": 57
}, },
"playOnLoad": false, "playOnLoad": false,
"_clips": [], "_clips": [],
@@ -932,10 +945,10 @@
"targetOverrides": null, "targetOverrides": null,
"nestedPrefabInstanceRoots": [ "nestedPrefabInstanceRoots": [
{ {
"__id__": 34 "__id__": 35
}, },
{ {
"__id__": 22 "__id__": 23
}, },
{ {
"__id__": 2 "__id__": 2

View File

@@ -22,35 +22,35 @@
"__id__": 2 "__id__": 2
}, },
{ {
"__id__": 10 "__id__": 11
}, },
{ {
"__id__": 22 "__id__": 23
}, },
{ {
"__id__": 34 "__id__": 35
} }
], ],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 45 "__id__": 46
}, },
{ {
"__id__": 47 "__id__": 48
}, },
{ {
"__id__": 49 "__id__": 50
}, },
{ {
"__id__": 51 "__id__": 52
}, },
{ {
"__id__": 53 "__id__": 54
} }
], ],
"_prefab": { "_prefab": {
"__id__": 55 "__id__": 56
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -127,6 +127,9 @@
}, },
{ {
"__id__": 9 "__id__": 9
},
{
"__id__": 10
} }
], ],
"removedComponents": [] "removedComponents": []
@@ -193,6 +196,16 @@
"z": 0 "z": 0
} }
}, },
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 6
},
"propertyPath": [
"_active"
],
"value": false
},
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "anm", "_name": "anm",
@@ -205,23 +218,23 @@
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 11 "__id__": 12
}, },
{ {
"__id__": 13 "__id__": 14
}, },
{ {
"__id__": 15 "__id__": 16
}, },
{ {
"__id__": 17 "__id__": 18
}, },
{ {
"__id__": 19 "__id__": 20
} }
], ],
"_prefab": { "_prefab": {
"__id__": 21 "__id__": 22
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -258,11 +271,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 12 "__id__": 13
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -286,11 +299,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 14 "__id__": 15
}, },
"_id": "" "_id": ""
}, },
@@ -304,11 +317,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 16 "__id__": 17
}, },
"_customMaterial": null, "_customMaterial": null,
"_srcBlendFactor": 2, "_srcBlendFactor": 2,
@@ -352,11 +365,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 18 "__id__": 19
}, },
"hitFlashMaterial": { "hitFlashMaterial": {
"__uuid__": "8eee8ab1-fe48-4b22-b956-3f5c18fc4810", "__uuid__": "8eee8ab1-fe48-4b22-b956-3f5c18fc4810",
@@ -390,11 +403,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 20 "__id__": 21
}, },
"playOnLoad": false, "playOnLoad": false,
"_clips": [ "_clips": [
@@ -446,14 +459,14 @@
"__id__": 1 "__id__": 1
}, },
"_prefab": { "_prefab": {
"__id__": 23 "__id__": 24
}, },
"__editorExtras__": {} "__editorExtras__": {}
}, },
{ {
"__type__": "cc.PrefabInfo", "__type__": "cc.PrefabInfo",
"root": { "root": {
"__id__": 22 "__id__": 23
}, },
"asset": { "asset": {
"__uuid__": "e1b8a315-ece3-41a2-941e-a66861753f1b", "__uuid__": "e1b8a315-ece3-41a2-941e-a66861753f1b",
@@ -461,7 +474,7 @@
}, },
"fileId": "c46/YsCPVOJYA4mWEpNYRx", "fileId": "c46/YsCPVOJYA4mWEpNYRx",
"instance": { "instance": {
"__id__": 24 "__id__": 25
}, },
"targetOverrides": null "targetOverrides": null
}, },
@@ -475,10 +488,7 @@
"mountedComponents": [], "mountedComponents": [],
"propertyOverrides": [ "propertyOverrides": [
{ {
"__id__": 25 "__id__": 26
},
{
"__id__": 27
}, },
{ {
"__id__": 28 "__id__": 28
@@ -493,7 +503,10 @@
"__id__": 31 "__id__": 31
}, },
{ {
"__id__": 33 "__id__": 32
},
{
"__id__": 34
} }
], ],
"removedComponents": [] "removedComponents": []
@@ -501,7 +514,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_name" "_name"
@@ -517,7 +530,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_lpos" "_lpos"
@@ -532,7 +545,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_lrot" "_lrot"
@@ -548,7 +561,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_euler" "_euler"
@@ -563,7 +576,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_active" "_active"
@@ -573,7 +586,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 32 "__id__": 33
}, },
"propertyPath": [ "propertyPath": [
"_contentSize" "_contentSize"
@@ -593,7 +606,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_lscale" "_lscale"
@@ -612,14 +625,14 @@
"__id__": 1 "__id__": 1
}, },
"_prefab": { "_prefab": {
"__id__": 35 "__id__": 36
}, },
"__editorExtras__": {} "__editorExtras__": {}
}, },
{ {
"__type__": "cc.PrefabInfo", "__type__": "cc.PrefabInfo",
"root": { "root": {
"__id__": 34 "__id__": 35
}, },
"asset": { "asset": {
"__uuid__": "50c3d5e4-49f8-4bd7-a15b-cda359a0ae5c", "__uuid__": "50c3d5e4-49f8-4bd7-a15b-cda359a0ae5c",
@@ -627,7 +640,7 @@
}, },
"fileId": "5fqU0L3/FOhKaco5UkHuWT", "fileId": "5fqU0L3/FOhKaco5UkHuWT",
"instance": { "instance": {
"__id__": 36 "__id__": 37
}, },
"targetOverrides": null "targetOverrides": null
}, },
@@ -641,10 +654,7 @@
"mountedComponents": [], "mountedComponents": [],
"propertyOverrides": [ "propertyOverrides": [
{ {
"__id__": 37 "__id__": 38
},
{
"__id__": 39
}, },
{ {
"__id__": 40 "__id__": 40
@@ -656,7 +666,10 @@
"__id__": 42 "__id__": 42
}, },
{ {
"__id__": 44 "__id__": 43
},
{
"__id__": 45
} }
], ],
"removedComponents": [] "removedComponents": []
@@ -664,7 +677,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_name" "_name"
@@ -680,7 +693,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_lpos" "_lpos"
@@ -695,7 +708,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_lrot" "_lrot"
@@ -711,7 +724,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_euler" "_euler"
@@ -726,7 +739,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 43 "__id__": 44
}, },
"propertyPath": [ "propertyPath": [
"_lpos" "_lpos"
@@ -747,7 +760,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_lscale" "_lscale"
@@ -769,7 +782,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 46 "__id__": 47
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -797,10 +810,10 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 48 "__id__": 49
}, },
"anm": { "anm": {
"__id__": 13 "__id__": 14
}, },
"_id": "" "_id": ""
}, },
@@ -818,7 +831,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 50 "__id__": 51
}, },
"debugMode": false, "debugMode": false,
"_id": "" "_id": ""
@@ -837,7 +850,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 52 "__id__": 53
}, },
"enabledContactListener": true, "enabledContactListener": true,
"bullet": false, "bullet": false,
@@ -871,7 +884,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 54 "__id__": 55
}, },
"tag": 0, "tag": 0,
"_group": 4, "_group": 4,
@@ -908,10 +921,10 @@
"targetOverrides": null, "targetOverrides": null,
"nestedPrefabInstanceRoots": [ "nestedPrefabInstanceRoots": [
{ {
"__id__": 34 "__id__": 35
}, },
{ {
"__id__": 22 "__id__": 23
}, },
{ {
"__id__": 2 "__id__": 2

View File

@@ -22,38 +22,38 @@
"__id__": 2 "__id__": 2
}, },
{ {
"__id__": 10 "__id__": 11
}, },
{ {
"__id__": 22 "__id__": 23
}, },
{ {
"__id__": 34 "__id__": 35
} }
], ],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 45 "__id__": 46
}, },
{ {
"__id__": 47 "__id__": 48
}, },
{ {
"__id__": 49 "__id__": 50
}, },
{ {
"__id__": 51 "__id__": 52
}, },
{ {
"__id__": 53 "__id__": 54
}, },
{ {
"__id__": 55 "__id__": 56
} }
], ],
"_prefab": { "_prefab": {
"__id__": 57 "__id__": 58
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -130,6 +130,9 @@
}, },
{ {
"__id__": 9 "__id__": 9
},
{
"__id__": 10
} }
], ],
"removedComponents": [] "removedComponents": []
@@ -196,6 +199,16 @@
"z": 0 "z": 0
} }
}, },
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 6
},
"propertyPath": [
"_active"
],
"value": false
},
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "anm", "_name": "anm",
@@ -208,23 +221,23 @@
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 11 "__id__": 12
}, },
{ {
"__id__": 13 "__id__": 14
}, },
{ {
"__id__": 15 "__id__": 16
}, },
{ {
"__id__": 17 "__id__": 18
}, },
{ {
"__id__": 19 "__id__": 20
} }
], ],
"_prefab": { "_prefab": {
"__id__": 21 "__id__": 22
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -261,11 +274,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 12 "__id__": 13
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -289,11 +302,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 14 "__id__": 15
}, },
"_id": "" "_id": ""
}, },
@@ -307,11 +320,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 16 "__id__": 17
}, },
"_customMaterial": null, "_customMaterial": null,
"_srcBlendFactor": 2, "_srcBlendFactor": 2,
@@ -355,11 +368,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 18 "__id__": 19
}, },
"hitFlashMaterial": { "hitFlashMaterial": {
"__uuid__": "8eee8ab1-fe48-4b22-b956-3f5c18fc4810", "__uuid__": "8eee8ab1-fe48-4b22-b956-3f5c18fc4810",
@@ -393,11 +406,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 10 "__id__": 11
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 20 "__id__": 21
}, },
"playOnLoad": false, "playOnLoad": false,
"_clips": [ "_clips": [
@@ -452,14 +465,14 @@
"__id__": 1 "__id__": 1
}, },
"_prefab": { "_prefab": {
"__id__": 23 "__id__": 24
}, },
"__editorExtras__": {} "__editorExtras__": {}
}, },
{ {
"__type__": "cc.PrefabInfo", "__type__": "cc.PrefabInfo",
"root": { "root": {
"__id__": 22 "__id__": 23
}, },
"asset": { "asset": {
"__uuid__": "e1b8a315-ece3-41a2-941e-a66861753f1b", "__uuid__": "e1b8a315-ece3-41a2-941e-a66861753f1b",
@@ -467,7 +480,7 @@
}, },
"fileId": "c46/YsCPVOJYA4mWEpNYRx", "fileId": "c46/YsCPVOJYA4mWEpNYRx",
"instance": { "instance": {
"__id__": 24 "__id__": 25
}, },
"targetOverrides": null "targetOverrides": null
}, },
@@ -481,10 +494,7 @@
"mountedComponents": [], "mountedComponents": [],
"propertyOverrides": [ "propertyOverrides": [
{ {
"__id__": 25 "__id__": 26
},
{
"__id__": 27
}, },
{ {
"__id__": 28 "__id__": 28
@@ -499,7 +509,10 @@
"__id__": 31 "__id__": 31
}, },
{ {
"__id__": 33 "__id__": 32
},
{
"__id__": 34
} }
], ],
"removedComponents": [] "removedComponents": []
@@ -507,7 +520,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_name" "_name"
@@ -523,7 +536,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_lpos" "_lpos"
@@ -538,7 +551,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_lrot" "_lrot"
@@ -554,7 +567,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_euler" "_euler"
@@ -569,7 +582,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_active" "_active"
@@ -579,7 +592,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 32 "__id__": 33
}, },
"propertyPath": [ "propertyPath": [
"_contentSize" "_contentSize"
@@ -599,7 +612,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 26 "__id__": 27
}, },
"propertyPath": [ "propertyPath": [
"_lscale" "_lscale"
@@ -618,14 +631,14 @@
"__id__": 1 "__id__": 1
}, },
"_prefab": { "_prefab": {
"__id__": 35 "__id__": 36
}, },
"__editorExtras__": {} "__editorExtras__": {}
}, },
{ {
"__type__": "cc.PrefabInfo", "__type__": "cc.PrefabInfo",
"root": { "root": {
"__id__": 34 "__id__": 35
}, },
"asset": { "asset": {
"__uuid__": "50c3d5e4-49f8-4bd7-a15b-cda359a0ae5c", "__uuid__": "50c3d5e4-49f8-4bd7-a15b-cda359a0ae5c",
@@ -633,7 +646,7 @@
}, },
"fileId": "5fqU0L3/FOhKaco5UkHuWT", "fileId": "5fqU0L3/FOhKaco5UkHuWT",
"instance": { "instance": {
"__id__": 36 "__id__": 37
}, },
"targetOverrides": null "targetOverrides": null
}, },
@@ -647,10 +660,7 @@
"mountedComponents": [], "mountedComponents": [],
"propertyOverrides": [ "propertyOverrides": [
{ {
"__id__": 37 "__id__": 38
},
{
"__id__": 39
}, },
{ {
"__id__": 40 "__id__": 40
@@ -662,7 +672,10 @@
"__id__": 42 "__id__": 42
}, },
{ {
"__id__": 44 "__id__": 43
},
{
"__id__": 45
} }
], ],
"removedComponents": [] "removedComponents": []
@@ -670,7 +683,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_name" "_name"
@@ -686,7 +699,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_lpos" "_lpos"
@@ -701,7 +714,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_lrot" "_lrot"
@@ -717,7 +730,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_euler" "_euler"
@@ -732,7 +745,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 43 "__id__": 44
}, },
"propertyPath": [ "propertyPath": [
"_lpos" "_lpos"
@@ -753,7 +766,7 @@
{ {
"__type__": "CCPropertyOverrideInfo", "__type__": "CCPropertyOverrideInfo",
"targetInfo": { "targetInfo": {
"__id__": 38 "__id__": 39
}, },
"propertyPath": [ "propertyPath": [
"_lscale" "_lscale"
@@ -775,7 +788,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 46 "__id__": 47
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -803,10 +816,10 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 48 "__id__": 49
}, },
"anm": { "anm": {
"__id__": 13 "__id__": 14
}, },
"_id": "" "_id": ""
}, },
@@ -824,7 +837,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 50 "__id__": 51
}, },
"debugMode": false, "debugMode": false,
"_id": "" "_id": ""
@@ -843,7 +856,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 52 "__id__": 53
}, },
"enabledContactListener": true, "enabledContactListener": true,
"bullet": false, "bullet": false,
@@ -877,7 +890,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 54 "__id__": 55
}, },
"tag": 0, "tag": 0,
"_group": 4, "_group": 4,
@@ -911,7 +924,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 56 "__id__": 57
}, },
"playOnLoad": false, "playOnLoad": false,
"_clips": [], "_clips": [],
@@ -935,10 +948,10 @@
"targetOverrides": null, "targetOverrides": null,
"nestedPrefabInstanceRoots": [ "nestedPrefabInstanceRoots": [
{ {
"__id__": 34 "__id__": 35
}, },
{ {
"__id__": 22 "__id__": 23
}, },
{ {
"__id__": 2 "__id__": 2

View File

@@ -2474,7 +2474,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": 0,
"y": 248.281, "y": 270,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -2515,7 +2515,7 @@
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 960, "width": 960,
"height": 300 "height": 250
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@@ -2590,7 +2590,7 @@
"_left": 0, "_left": 0,
"_right": 0, "_right": 0,
"_top": 0, "_top": 0,
"_bottom": 298.281, "_bottom": 320,
"_horizontalCenter": 0, "_horizontalCenter": 0,
"_verticalCenter": 0, "_verticalCenter": 0,
"_isAbsLeft": true, "_isAbsLeft": true,
@@ -2618,8 +2618,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "6bE0ieRMBGyYHdxvuJ03FA", "fileId": "6bE0ieRMBGyYHdxvuJ03FA",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {
@@ -2646,7 +2644,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": 0,
"y": -175, "y": -140.171,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -3326,7 +3324,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": -29.999, "x": -29.999,
"y": 331.804, "y": 349.544,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -3434,8 +3432,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "256TxMVzhHQopA08O7v8nq", "fileId": "256TxMVzhHQopA08O7v8nq",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {
@@ -3475,8 +3471,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "5dWwAe3IFHRJuoSicXBEs8", "fileId": "5dWwAe3IFHRJuoSicXBEs8",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {
@@ -3572,7 +3566,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": 0,
"y": 248.281, "y": 270,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -3613,7 +3607,7 @@
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 960, "width": 960,
"height": 300 "height": 250
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@@ -3688,7 +3682,7 @@
"_left": 0, "_left": 0,
"_right": 0, "_right": 0,
"_top": 0, "_top": 0,
"_bottom": 298.281, "_bottom": 320,
"_horizontalCenter": 0, "_horizontalCenter": 0,
"_verticalCenter": 0, "_verticalCenter": 0,
"_isAbsLeft": true, "_isAbsLeft": true,
@@ -3716,8 +3710,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "b9zLdCeJlE5pPiK++dLgBX", "fileId": "b9zLdCeJlE5pPiK++dLgBX",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {
@@ -3744,7 +3736,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": 0,
"y": -175, "y": -140.171,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -4288,7 +4280,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": -29.999, "x": -29.999,
"y": 331.804, "y": 349.544,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -4396,8 +4388,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "9d2p/canpFGof2O/w8JyTj", "fileId": "9d2p/canpFGof2O/w8JyTj",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {
@@ -4437,8 +4427,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "6bkL20JyRDOI6ycVYKl/ie", "fileId": "6bkL20JyRDOI6ycVYKl/ie",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {
@@ -4507,8 +4495,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "14GnCNU65BbJPIzLWE/Oiz", "fileId": "14GnCNU65BbJPIzLWE/Oiz",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {
@@ -7377,8 +7363,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "c4IqMKgXNExa5w4EAciRxE", "fileId": "c4IqMKgXNExa5w4EAciRxE",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {
@@ -8909,8 +8893,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "35iAcUUYpE8akTtTCX1ITo", "fileId": "35iAcUUYpE8akTtTCX1ITo",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {
@@ -8950,8 +8932,6 @@
"__id__": 0 "__id__": 0
}, },
"fileId": "68Q5vEQWBINrggngtTZ7wh", "fileId": "68Q5vEQWBINrggngtTZ7wh",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{ {

File diff suppressed because it is too large Load Diff

View File

@@ -300,10 +300,10 @@
"height": 63, "height": 63,
"rawWidth": 54, "rawWidth": 54,
"rawHeight": 63, "rawHeight": 63,
"borderTop": 0, "borderTop": 30,
"borderBottom": 0, "borderBottom": 33,
"borderLeft": 0, "borderLeft": 27,
"borderRight": 0, "borderRight": 27,
"packable": true, "packable": true,
"pixelsToUnit": 100, "pixelsToUnit": 100,
"pivotX": 0.5, "pivotX": 0.5,

View File

@@ -1,4 +1,4 @@
/** /**
* @file HeroSkillDesc.ts * @file HeroSkillDesc.ts
* @description 英雄技能/能力描述的【唯一文字表达标准层】 * @description 英雄技能/能力描述的【唯一文字表达标准层】
* *
@@ -91,8 +91,21 @@ const ATTR_NAME: Partial<Record<Attrs, string>> = {
/** 富文本数值高亮色(鲜亮绿色,深色面板上高亮醒目) */ /** 富文本数值高亮色(鲜亮绿色,深色面板上高亮醒目) */
const RICH_VALUE_COLOR = "#3CE66E"; const RICH_VALUE_COLOR = "#3CE66E";
/** 富文本技能名高亮色(蓝色,与数值绿色区分,标识技能名「」片段 */ /** 富文本技能名高亮色(蜜桃橙,暖色系,与面板绿/蓝/红/黄/紫均不冲突 */
const RICH_NAME_COLOR = "#2E86C1"; const RICH_NAME_COLOR = "#F8C471";
/** 技能名描边色(深褐,衬托蜜桃橙填充,深色面板上温馨醒目) */
const RICH_NAME_OUTLINE = "#6E2C00";
/**
* 技能名富文本片段:[技能名]整体蜜桃橙填充 + 深褐描边(含方括号)。
* 括号与技能名同色同描边,正文/数值不描边,突出技能名视觉层级。
* @param name 技能名(纯文本,不含括号)
* @returns <outline><color>[技能名]</color></outline> 富文本片段
*/
function skillNameRich(name: string): string {
return `<outline color=${RICH_NAME_OUTLINE} width=1><color=${RICH_NAME_COLOR}>[${name}]</color></outline>`;
}
/** 富文本未激活档位整行灰色(低饱和,深色面板上可读但明显弱化) */ /** 富文本未激活档位整行灰色(低饱和,深色面板上可读但明显弱化) */
const RICH_LOCKED_COLOR = "#95A5A6"; const RICH_LOCKED_COLOR = "#95A5A6";
@@ -100,9 +113,6 @@ const RICH_LOCKED_COLOR = "#95A5A6";
/** 技能名「」匹配模式(仅本模块行首/行中技能名片段使用) */ /** 技能名「」匹配模式(仅本模块行首/行中技能名片段使用) */
const SKILL_NAME_PATTERN = /「([^」]*)」/g; const SKILL_NAME_PATTERN = /「([^」]*)」/g;
/** 技能等级罗马数字徽章(索引 = 技能等级 1~5用于技能名后的品质感等级标识 */
const SKILL_LV_BADGE = ["", "", "Ⅱ", "Ⅲ", "Ⅳ", ""];
/** "持续X秒"匹配模式(卡片描述后处理:把持续时间数值也高亮) */ /** "持续X秒"匹配模式(卡片描述后处理:把持续时间数值也高亮) */
const DURATION_PATTERN = /持续(\d+)秒/g; const DURATION_PATTERN = /持续(\d+)秒/g;
@@ -210,12 +220,13 @@ function buildEffectLine(head: string, skill: SkillConfig): ISkillLine {
* 为 key 查标准动词,数值按 fmt比例/整数/减免)从 value 实时渲染。 * 为 key 查标准动词,数值按 fmt比例/整数/减免)从 value 实时渲染。
* *
* @param showName 是否在行中包含「技能名」片段(英雄面板需要,装备商店不需要) * @param showName 是否在行中包含「技能名」片段(英雄面板需要,装备商店不需要)
* @param nameOverride 技能名覆盖(英雄语境传入 heroSet 语境专属命名,缺省用 FieldSkillSet 通用名)
*/ */
function buildFieldLine(head: string, uuid: number, showName: boolean = true): ISkillLine | null { function buildFieldLine(head: string, uuid: number, showName: boolean = true, nameOverride?: string): ISkillLine | null {
const fs = FieldSkillSet[uuid]; const fs = FieldSkillSet[uuid];
if (!fs) return null; if (!fs) return null;
const desc = FieldDescSet[fs.type]; const desc = FieldDescSet[fs.type];
const nameSeg = showName ? `${fs.name}` : ""; const nameSeg = showName ? `${nameOverride ?? fs.name}` : "";
// 未入表类型回退基础备注 info整行不高亮 // 未入表类型回退基础备注 info整行不高亮
if (!desc) return { prefix: `${head}${nameSeg}${fs.info}`, value: "", suffix: "" }; if (!desc) return { prefix: `${head}${nameSeg}${fs.info}`, value: "", suffix: "" };
@@ -257,7 +268,7 @@ function buildReviveLines(source: ISkillDescSource, showName: boolean = true, sh
const nameSeg = showName ? `${base.name}` : ""; const nameSeg = showName ? `${base.name}` : "";
// 高亮片段选回血百分比(数值中最关键的收益指标) // 高亮片段选回血百分比(数值中最关键的收益指标)
return { return {
prefix: `${head}${nameSeg}可复活${maxCount}每次恢复`, prefix: `${head}${nameSeg}可复活${maxCount}, 每次恢复`,
value: `${hpPct}%`, value: `${hpPct}%`,
suffix: "生命", suffix: "生命",
locked, locked,
@@ -475,11 +486,11 @@ export function buildSingleSkillRich(skillUuid: number, overrides?: SkillOverrid
// SkillConfig 未定义 cd 字段,冷却时间由外部运行时数据传入;计时模式展示持续时间 // SkillConfig 未定义 cd 字段,冷却时间由外部运行时数据传入;计时模式展示持续时间
const dur = skill.buff_duration ?? (skill.timed_buff_id !== undefined ? BuffList[skill.timed_buff_id]?.duration : undefined) ?? 0; const dur = skill.buff_duration ?? (skill.timed_buff_id !== undefined ? BuffList[skill.timed_buff_id]?.duration : undefined) ?? 0;
const cdTag = dur > 0 ? `<color=${RICH_VALUE_COLOR}>持续:${dur}s</color>` : ""; const cdTag = dur > 0 ? `<color=${RICH_VALUE_COLOR}>持续:${dur}s</color>` : "";
const nameTag = `「<color=${RICH_NAME_COLOR}>${skill.name}</color>」 Lv.${lv}`; const nameTag = `${skillNameRich(skill.name)} Lv.${lv}`;
// 复用结构化效果行head 为空避免重复触发类型前缀 // 复用结构化效果行head 为空避免重复触发类型前缀
const line = buildEffectLine("", skill); const line = buildEffectLine("", skill);
const prefix = line.prefix.replace(SKILL_NAME_PATTERN, `「<color=${RICH_NAME_COLOR}>$1</color>」`); const prefix = line.prefix.replace(SKILL_NAME_PATTERN, (m, g1) => skillNameRich(g1));
const effect = line.value const effect = line.value
? `${prefix}<color=${RICH_VALUE_COLOR}>${line.value}</color>${line.suffix}` ? `${prefix}<color=${RICH_VALUE_COLOR}>${line.value}</color>${line.suffix}`
: `${prefix}${line.suffix}`; : `${prefix}${line.suffix}`;
@@ -499,7 +510,7 @@ export function buildEquipRich(fieldUuids: number[], showName: boolean = false):
for (const uuid of fieldUuids) { for (const uuid of fieldUuids) {
const line = buildFieldLine("", uuid, showName); const line = buildFieldLine("", uuid, showName);
if (!line) continue; if (!line) continue;
const prefix = line.prefix.replace(SKILL_NAME_PATTERN, `「<color=${RICH_NAME_COLOR}>$1</color>」`); const prefix = line.prefix.replace(SKILL_NAME_PATTERN, (m, g1) => skillNameRich(g1));
const text = line.value const text = line.value
? `${prefix}<color=${RICH_VALUE_COLOR}>${line.value}</color>${line.suffix}` ? `${prefix}<color=${RICH_VALUE_COLOR}>${line.value}</color>${line.suffix}`
: `${prefix}${line.suffix}`; : `${prefix}${line.suffix}`;
@@ -527,7 +538,7 @@ export function buildSkillDescMoreRich(source: ISkillDescSource): string {
// 单条效果 → 富文本(技能名蓝色、数值绿色高亮、持续秒数高亮) // 单条效果 → 富文本(技能名蓝色、数值绿色高亮、持续秒数高亮)
const effectRich = (line: ISkillLine): string => { const effectRich = (line: ISkillLine): string => {
const prefix = line.prefix.replace(SKILL_NAME_PATTERN, `「<color=${RICH_NAME_COLOR}>$1</color>」`); const prefix = line.prefix.replace(SKILL_NAME_PATTERN, (m, g1) => skillNameRich(g1));
const text = line.value const text = line.value
? `${prefix}<color=${RICH_VALUE_COLOR}>${line.value}</color>${line.suffix}` ? `${prefix}<color=${RICH_VALUE_COLOR}>${line.value}</color>${line.suffix}`
: `${prefix}${line.suffix}`; : `${prefix}${line.suffix}`;
@@ -562,28 +573,29 @@ export function buildSkillDescMoreRich(source: ISkillDescSource): string {
const curTrig = needCount const curTrig = needCount
? `${trigName}<color=${RICH_VALUE_COLOR}>${cur.t_num}</color>次` ? `${trigName}<color=${RICH_VALUE_COLOR}>${cur.t_num}</color>次`
: trigName; : trigName;
// 技能名 + 罗马数字等级徽章(如 "不屈壁垒"等级徽标随技能名一并蓝色高亮 // 技能名 + 档位数字后缀(如 "不屈壁垒1"与光环命名口径一致
const badge = SKILL_LV_BADGE[curSLv] ?? `${curSLv}`; const curHead = `${skillName}${curSLv}」: ${curTrig}, `;
const curHead = `${skillName}${badge}」: ${curTrig}`;
lines.push(effectRich(buildEffectLine(curHead, mergeSkillParams(base, cur.overrides)))); lines.push(effectRich(buildEffectLine(curHead, mergeSkillParams(base, cur.overrides))));
} }
} }
// 驻场光环field // 驻场光环field:技能名按档位带数字后缀(如 [攻击光环1]/[攻击光环2]),便于玩家识别成长
const fieldEntries = source[SkillTriggerType.Field] as LvFieldEntry[] | undefined; const fieldEntries = source[SkillTriggerType.Field] as LvFieldEntry[] | undefined;
if (fieldEntries?.length) { if (fieldEntries?.length) {
const tpl = SkillTriggerName[SkillTriggerType.Field] ?? "光环";
for (const uuid of resolveFieldByLv(fieldEntries, lv)) { for (const uuid of resolveFieldByLv(fieldEntries, lv)) {
const line = buildFieldLine(`${tpl}: `, uuid, true); // uuid 百位编码档位7002 基础(0)=1、7202 +(2)=2、7402 ++(4)=3
const tier = Math.floor((uuid % 1000) / 100) / 2 + 1;
const baseName = getTriggerSkillName(SkillTriggerType.Field, uuid);
const line = buildFieldLine("", uuid, true, `${baseName}${tier}`);
if (line) lines.push(effectRich(line)); if (line) lines.push(effectRich(line));
} }
} }
// 复活revive // 重生revive:每回合拥有 N 次重生机会,死亡后以 X% 血量原地重生
const revive = resolveReviveByLv(source[SkillTriggerType.Revive] as LvReviveEntry[] | undefined, lv); const revive = resolveReviveByLv(source[SkillTriggerType.Revive] as LvReviveEntry[] | undefined, lv);
if (revive) { if (revive) {
const reviveName = getTriggerSkillName(SkillTriggerType.Revive, revive.s_uuid); const reviveName = getTriggerSkillName(SkillTriggerType.Revive, revive.s_uuid);
lines.push(`<color=${RICH_NAME_COLOR}>${reviveName}</color>」: 死亡后以<color=${RICH_VALUE_COLOR}>${Math.round(revive.upr * 100)}%</color>血量复活<color=${RICH_VALUE_COLOR}>${revive.r_num}</color>次`); lines.push(`${skillNameRich(reviveName)}: 每回合拥有<color=${RICH_VALUE_COLOR}>${revive.r_num}</color>次重生机会, 死亡后以<color=${RICH_VALUE_COLOR}>${Math.round(revive.upr * 100)}%</color>血量原地重生`);
} }
return lines.join("\n"); return lines.join("\n");
@@ -605,7 +617,7 @@ function highlightDuration(text: string): string {
*/ */
function renderLineRich(line: ISkillLine): string { function renderLineRich(line: ISkillLine): string {
if (line.locked) return `<color=${RICH_LOCKED_COLOR}>${line.prefix}${line.value}${line.suffix}</color>`; if (line.locked) return `<color=${RICH_LOCKED_COLOR}>${line.prefix}${line.value}${line.suffix}</color>`;
const prefix = line.prefix.replace(SKILL_NAME_PATTERN, `「<color=${RICH_NAME_COLOR}>$1</color>」`); const prefix = line.prefix.replace(SKILL_NAME_PATTERN, (m, g1) => skillNameRich(g1));
// 未来档数值灰色追加在当前高亮数值后("15%/20%/30%"suffix 仍位于整段数值之后 // 未来档数值灰色追加在当前高亮数值后("15%/20%/30%"suffix 仍位于整段数值之后
const next = line.nextValues?.length ? `<color=${RICH_LOCKED_COLOR}>/${line.nextValues.join("/")}</color>` : ""; const next = line.nextValues?.length ? `<color=${RICH_LOCKED_COLOR}>/${line.nextValues.join("/")}</color>` : "";
return line.value return line.value
@@ -674,9 +686,9 @@ export function buildCardDescRich(card: CardConfig): string {
return rich; return rich;
} }
const rhythm = `每<color=${RICH_VALUE_COLOR}>${tInv}</color>秒召唤<color=${RICH_VALUE_COLOR}>${(card.overrides?.num ?? 0) + 1}</color>个「<color=${RICH_NAME_COLOR}>${skill.name}</color>」攻击敌人`; const rhythm = `每<color=${RICH_VALUE_COLOR}>${tInv}</color>秒召唤<color=${RICH_VALUE_COLOR}>${(card.overrides?.num ?? 0) + 1}</color>个${skillNameRich(skill.name)}攻击敌人`;
const times = `共<color=${RICH_VALUE_COLOR}>${tTimes}</color>次`; const times = `, 共<color=${RICH_VALUE_COLOR}>${tTimes}</color>次`;
return `${rhythm}${rich}${times}`; return `${rhythm}, ${rich}${times}`;
} }
return card.info || ""; return card.info || "";

View File

@@ -60,39 +60,39 @@ export const SkillDescSet: Record<number, SkillDescConfig> = {
// 6401 攻击强化:永久 ap=攻击点;计时 buff_value=攻击点 // 6401 攻击强化:永久 ap=攻击点;计时 buff_value=攻击点
6401: { 6401: {
verb: "攻击力", unit: "", permField: "ap", timedField: "buff_value", verb: "攻击力", unit: "", permField: "ap", timedField: "buff_value",
templPerm: "{target}{verb}+{value}", templPerm: "{target}{verb}永久+{value}",
templTimed: "{target}{verb}+{value}持续{dur}秒", templTimed: "{target}{verb}+{value}, 持续{dur}秒",
}, },
// 6402 生命强化ap = 最大生命点 // 6402 生命强化ap = 最大生命点
6402: { 6402: {
verb: "最大生命", unit: "", permField: "ap", verb: "最大生命", unit: "", permField: "ap",
templPerm: "{target}{verb}+{value}", templPerm: "{target}{verb}永久+{value}",
}, },
// 6403 暴击强化:永久 ap=暴击%;计时 buff_value=暴击% // 6403 暴击强化:永久 ap=暴击%;计时 buff_value=暴击%
6403: { 6403: {
verb: "暴击率", unit: "%", permField: "ap", timedField: "buff_value", verb: "暴击率", unit: "%", permField: "ap", timedField: "buff_value",
templPerm: "{target}{verb}+{value}{unit}", templPerm: "{target}{verb}永久+{value}{unit}",
templTimed: "{target}{verb}+{value}{unit}持续{dur}秒", templTimed: "{target}{verb}+{value}{unit}, 持续{dur}秒",
}, },
// 6404 暴伤强化ap = 暴击伤害% // 6404 暴伤强化ap = 暴击伤害%
6404: { 6404: {
verb: "暴击伤害", unit: "%", permField: "ap", verb: "暴击伤害", unit: "%", permField: "ap",
templPerm: "{target}{verb}+{value}{unit}", templPerm: "{target}{verb}永久+{value}{unit}",
}, },
// 6405 击晕强化ap = 击晕概率% // 6405 击晕强化ap = 击晕概率%
6405: { 6405: {
verb: "击晕概率", unit: "%", permField: "ap", verb: "击晕概率", unit: "%", permField: "ap",
templPerm: "{target}{verb}+{value}{unit}", templPerm: "{target}{verb}永久+{value}{unit}",
}, },
// 6408 穿刺强化ap = 穿刺概率% // 6408 穿刺强化ap = 穿刺概率%
6408: { 6408: {
verb: "穿刺概率", unit: "%", permField: "ap", verb: "穿刺概率", unit: "%", permField: "ap",
templPerm: "{target}{verb}+{value}{unit}", templPerm: "{target}{verb}永久+{value}{unit}",
}, },
// 6409 风怒强化ap = 风怒次数 // 6409 风怒强化ap = 风怒次数
6409: { 6409: {
verb: "风怒次数", unit: "次", permField: "ap", verb: "风怒次数", unit: "次", permField: "ap",
templPerm: "{target}{verb}+{value}{unit}", templPerm: "{target}{verb}永久+{value}{unit}",
}, },
// 6501 复活ap = 复活生命值百分比 // 6501 复活ap = 复活生命值百分比
6501: { 6501: {

View File

@@ -1,4 +1,4 @@
// ========== 从 HeroAttrs.ts 导入属性相关定义 ========== // ========== 从 HeroAttrs.ts 导入属性相关定义 ==========
import { Attrs } from "./HeroAttrs"; import { Attrs } from "./HeroAttrs";
export enum HSSet { export enum HSSet {
@@ -303,25 +303,25 @@ export const SkillSet: Record<number, SkillConfig> = {
6101: { 6101: {
uuid: 6101, name: "火球", sp_name: "fb-1", icon: "Stat_FireDamage", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", uuid: 6101, name: "火球", sp_name: "fb-1", icon: "Stat_FireDamage", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk",
DTType: DTType.single, stun: 0, ap: 100, hit_count: 2, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, DTType: DTType.single, stun: 0, ap: 100, hit_count: 2, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
RType: RType.linear, EType: EType.collision, info: "造成攻击力100%的伤害,一定几率暴击高阶技能", RType: RType.linear, EType: EType.collision, info: "造成攻击力100%的伤害, 一定几率暴击, 高阶技能",
}, },
//怪物法师统一使用 暗影球 //怪物法师统一使用 暗影球
6102: { 6102: {
uuid: 6102, name: "飓风", sp_name: "fb-2", icon: "Stat_Mana", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk", uuid: 6102, name: "飓风", sp_name: "fb-2", icon: "Stat_Mana", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk",
DTType: DTType.single, ap: 100, hit_count: 2, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, DTType: DTType.single, ap: 100, hit_count: 2, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
RType: RType.linear, EType: EType.collision, info: "造成攻击力100%的伤害高阶技能", RType: RType.linear, EType: EType.collision, info: "造成攻击力100%的伤害, 高阶技能",
}, },
6201: { 6201: {
uuid: 6201, name: "陨石术", sp_name: "fb-3", icon: "Stat_Tripleshot", TGroup: TGroup.Enemy, readyAnm: "blues", endAnm: "", act: "max", uuid: 6201, name: "陨石术", sp_name: "fb-3", icon: "Stat_Tripleshot", TGroup: TGroup.Enemy, readyAnm: "blues", endAnm: "", act: "max",
DTType: DTType.aoe_grid, stun: 0, ap: 150, hit_count: 6, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote, DTType: DTType.aoe_grid, stun: 0, ap: 150, hit_count: 6, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
RType: RType.fixed, EType: EType.animationEnd, info: "召唤陨石范围攻击敌人有概率击晕", RType: RType.fixed, EType: EType.animationEnd, info: "召唤陨石范围攻击敌人, 有概率击晕",
}, },
//============================= ====== 辅助技能 技能卡牌 1 回合技能 ====== ========================== //============================= ====== 辅助技能 技能卡牌 1 回合技能 ====== ==========================
6301: { 6301: {
uuid: 6301, name: "护盾", sp_name: "buff_wind", icon: "Stat_Defense", TGroup: TGroup.Self, readyAnm: "up_blue", endAnm: "", act: "atk", uuid: 6301, name: "护盾", sp_name: "buff_wind", icon: "Stat_Defense", TGroup: TGroup.Self, readyAnm: "up_blue", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Shield, ap: 3, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Shield, ap: 3, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, info: "为伙伴/自己添加护盾可抵挡3次伤害", RType: RType.fixed, EType: EType.animationEnd, info: "为伙伴/自己添加护盾, 可抵挡3次伤害",
}, },
6302: { 6302: {
uuid: 6302, name: "治疗", sp_name: "buff_wind", icon: "Stat_Hp_01", TGroup: TGroup.Team, readyAnm: "up_green", endAnm: "", act: "atk", uuid: 6302, name: "治疗", sp_name: "buff_wind", icon: "Stat_Hp_01", TGroup: TGroup.Team, readyAnm: "up_green", endAnm: "", act: "atk",
@@ -338,32 +338,32 @@ export const SkillSet: Record<number, SkillConfig> = {
6401: { 6401: {
uuid: 6401, name: "攻击强化", sp_name: "buff_wind", icon: "Stat_Attack_03", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", uuid: 6401, name: "攻击强化", sp_name: "buff_wind", icon: "Stat_Attack_03", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 5, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 5, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.ap, info: "全体友方攻击力提升5点持续1次", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.ap, info: "全体友方攻击力提升5点, 持续1次",
}, },
6402: { 6402: {
uuid: 6402, name: "生命强化", sp_name: "buff_wind", icon: "Stat_Hp_02", TGroup: TGroup.Team, readyAnm: "up_hp", endAnm: "", act: "atk", uuid: 6402, name: "生命强化", sp_name: "buff_wind", icon: "Stat_Hp_02", TGroup: TGroup.Team, readyAnm: "up_hp", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 20, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 20, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.hp_max, info: "全体友方最大生命值提升20点持续1次", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.hp_max, info: "全体友方最大生命值提升20点, 持续1次",
}, },
6403: { 6403: {
uuid: 6403, name: "暴击强化", sp_name: "buff_wind", icon: "Stat_CriticalChance_02", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", uuid: 6403, name: "暴击强化", sp_name: "buff_wind", icon: "Stat_CriticalChance_02", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.critical, timed_buff_id: 7012, info: "全体友方暴击率限时提升持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.critical, timed_buff_id: 7012, info: "全体友方暴击率限时提升, 持续5秒",
}, },
6404: { 6404: {
uuid: 6404, name: "暴伤强化", sp_name: "buff_wind", icon: "Stat_Critical_01", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", uuid: 6404, name: "暴伤强化", sp_name: "buff_wind", icon: "Stat_Critical_01", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.critical_damage, timed_buff_id: 7020, info: "全体友方暴击伤害限时提升持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.critical_damage, timed_buff_id: 7020, info: "全体友方暴击伤害限时提升, 持续5秒",
}, },
6405: { 6405: {
uuid: 6405, name: "击晕强化", sp_name: "buff_wind", icon: "Stat_Stun_01", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", uuid: 6405, name: "击晕强化", sp_name: "buff_wind", icon: "Stat_Stun_01", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.stun_chance, timed_buff_id: 7017, info: "全体友方击晕概率限时提升持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.stun_chance, timed_buff_id: 7017, info: "全体友方击晕概率限时提升, 持续5秒",
}, },
6406: { 6406: {
uuid: 6406, name: "击退强化", sp_name: "buff_wind", icon: "Stat_Stun_01", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", uuid: 6406, name: "击退强化", sp_name: "buff_wind", icon: "Stat_Stun_01", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.knockback_chance, timed_buff_id: 7013, info: "全体友方击退概率限时提升持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.knockback_chance, timed_buff_id: 7013, info: "全体友方击退概率限时提升, 持续5秒",
}, },
6407: { 6407: {
uuid: 6407, name: "距推强化", sp_name: "buff_wind", icon: "Stat_Stun_01", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", uuid: 6407, name: "距推强化", sp_name: "buff_wind", icon: "Stat_Stun_01", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
@@ -373,17 +373,17 @@ export const SkillSet: Record<number, SkillConfig> = {
6408: { 6408: {
uuid: 6408, name: "穿刺强化", sp_name: "buff_wind", icon: "Stat_Tripleshot", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", uuid: 6408, name: "穿刺强化", sp_name: "buff_wind", icon: "Stat_Tripleshot", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 20, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 20, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.puncture_chance, timed_buff_id: 7014, info: "全体友方穿透概率限时提升持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.puncture_chance, timed_buff_id: 7014, info: "全体友方穿透概率限时提升, 持续5秒",
}, },
6409: { 6409: {
uuid: 6409, name: "风怒强化", sp_name: "buff_wind", icon: "Stat_CriticalComboChance", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", uuid: 6409, name: "风怒强化", sp_name: "buff_wind", icon: "Stat_CriticalComboChance", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.wfuny, timed_buff_id: 7016, info: "全体友方风怒概率限时提升持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.wfuny, timed_buff_id: 7016, info: "全体友方风怒概率限时提升, 持续5秒",
}, },
6410: { 6410: {
uuid: 6410, name: "冰冻强化", sp_name: "buff_wind", icon: "Stat_Freeze", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", uuid: 6410, name: "冰冻强化", sp_name: "buff_wind", icon: "Stat_Freeze", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.freeze_chance, timed_buff_id: 7021, info: "全体友方冰冻概率限时提升持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.freeze_chance, timed_buff_id: 7021, info: "全体友方冰冻概率限时提升, 持续5秒",
}, },
6501: { 6501: {
uuid: 6501, name: "复活", sp_name: "buff_wind", icon: "Stat_HolyDamage", TGroup: TGroup.Self, readyAnm: "up_ap", endAnm: "", act: "atk", uuid: 6501, name: "复活", sp_name: "buff_wind", icon: "Stat_HolyDamage", TGroup: TGroup.Self, readyAnm: "up_ap", endAnm: "", act: "atk",
@@ -396,52 +396,52 @@ export const SkillSet: Record<number, SkillConfig> = {
6502: { 6502: {
uuid: 6502, name: "计时回血", sp_name: "buff_wind", icon: "Stat_PotionBoost", TGroup: TGroup.Team, readyAnm: "up_green", endAnm: "", act: "atk", uuid: 6502, name: "计时回血", sp_name: "buff_wind", icon: "Stat_PotionBoost", TGroup: TGroup.Team, readyAnm: "up_green", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.hp, timed_buff_id: 7010, info: "全体友方每秒回复生命持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.hp, timed_buff_id: 7010, info: "全体友方每秒回复生命, 持续5秒",
}, },
6503: { 6503: {
uuid: 6503, name: "攻击爆发", sp_name: "buff_wind", icon: "Stat_Attack_03", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", uuid: 6503, name: "攻击爆发", sp_name: "buff_wind", icon: "Stat_Attack_03", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.ap, timed_buff_id: 7011, info: "全体友方攻击力提升50%持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.ap, timed_buff_id: 7011, info: "全体友方攻击力提升50%, 持续5秒",
}, },
6504: { 6504: {
uuid: 6504, name: "暴击爆发", sp_name: "buff_wind", icon: "Stat_CriticalChance_02", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", uuid: 6504, name: "暴击爆发", sp_name: "buff_wind", icon: "Stat_CriticalChance_02", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.critical, timed_buff_id: 7012, info: "全体友方暴击率提升30%持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.critical, timed_buff_id: 7012, info: "全体友方暴击率提升30%, 持续5秒",
}, },
6505: { 6505: {
uuid: 6505, name: "击退爆发", sp_name: "buff_wind", icon: "Stat_Stun_01", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", uuid: 6505, name: "击退爆发", sp_name: "buff_wind", icon: "Stat_Stun_01", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.knockback_chance, timed_buff_id: 7013, info: "全体友方击退概率提升30%持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.knockback_chance, timed_buff_id: 7013, info: "全体友方击退概率提升30%, 持续5秒",
}, },
6506: { 6506: {
uuid: 6506, name: "穿透爆发", sp_name: "buff_wind", icon: "Stat_Tripleshot", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", uuid: 6506, name: "穿透爆发", sp_name: "buff_wind", icon: "Stat_Tripleshot", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.puncture_chance, timed_buff_id: 7014, info: "全体友方穿透概率提升30%持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.puncture_chance, timed_buff_id: 7014, info: "全体友方穿透概率提升30%, 持续5秒",
}, },
6507: { 6507: {
uuid: 6507, name: "攻速爆发", sp_name: "buff_wind", icon: "Stat_AttackSpeed_02", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", uuid: 6507, name: "攻速爆发", sp_name: "buff_wind", icon: "Stat_AttackSpeed_02", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.speed, timed_buff_id: 7015, info: "全体友方攻击速度提升40%持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.speed, timed_buff_id: 7015, info: "全体友方攻击速度提升40%, 持续5秒",
}, },
6508: { 6508: {
uuid: 6508, name: "风怒爆发", sp_name: "buff_wind", icon: "Stat_CriticalComboChance", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk", uuid: 6508, name: "风怒爆发", sp_name: "buff_wind", icon: "Stat_CriticalComboChance", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.wfuny, timed_buff_id: 7016, info: "全体友方风怒概率提升20%持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.wfuny, timed_buff_id: 7016, info: "全体友方风怒概率提升20%, 持续5秒",
}, },
6509: { 6509: {
uuid: 6509, name: "击晕爆发", sp_name: "buff_wind", icon: "Stat_Stun_01", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", uuid: 6509, name: "击晕爆发", sp_name: "buff_wind", icon: "Stat_Stun_01", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.stun_chance, timed_buff_id: 7017, info: "全体友方击晕概率提升30%持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.stun_chance, timed_buff_id: 7017, info: "全体友方击晕概率提升30%, 持续5秒",
}, },
6510: { 6510: {
uuid: 6510, name: "击晕抗性", sp_name: "buff_wind", icon: "Stat_Armor_01", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", uuid: 6510, name: "击晕抗性", sp_name: "buff_wind", icon: "Stat_Armor_01", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.stun_res, timed_buff_id: 7018, info: "全体友方击晕抗性提升50%持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.stun_res, timed_buff_id: 7018, info: "全体友方击晕抗性提升50%, 持续5秒",
}, },
6511: { 6511: {
uuid: 6511, name: "冰冻抗性", sp_name: "buff_wind", icon: "Stat_Freeze", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk", uuid: 6511, name: "冰冻抗性", sp_name: "buff_wind", icon: "Stat_Freeze", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support, DTType: DTType.single, kind: SkillKind.Support, ap: 0, hit_count: 3, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.freeze_res, timed_buff_id: 7019, info: "全体友方冰冻抗性提升50%持续5秒", RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.freeze_res, timed_buff_id: 7019, info: "全体友方冰冻抗性提升50%, 持续5秒",
} }
}; };
@@ -455,15 +455,15 @@ export enum FieldSkillType {
SellGold = 6, // 卖出英雄金币提升 SellGold = 6, // 卖出英雄金币提升
WaveHeal = 7, // 战斗结束生命回复量提升 WaveHeal = 7, // 战斗结束生命回复量提升
HeroAtk = 8, // 英雄攻击力加成 HeroAtk = 8, // 英雄攻击力加成
HeroStun = 9, // 英雄击晕加成 HeroStun = 9, // 英雄击晕光环
HeroCrit = 10, // 英雄暴击加成 HeroCrit = 10, // 英雄暴击光环
HeroCritDamage = 11, // 英雄暴击伤害加成 HeroCritDamage = 11, // 英雄暴击伤害加成
HeroSpeed = 12, // 英雄攻击速度加成 HeroSpeed = 12, // 英雄攻击速度加成
// ---- 13~18 由 TalentSet 迁移而来,统一为驻场口径 ---- // ---- 13~18 由 TalentSet 迁移而来,统一为驻场口径 ----
// 备注SellGold 已原生覆盖"出售返还"语义,故 TalentSet 中的 SellBonus 不再单独保留 // 备注SellGold 已原生覆盖"出售返还"语义,故 TalentSet 中的 SellBonus 不再单独保留
BuyDiscount = 13, // 购买卡牌费用减免(金币) BuyDiscount = 13, // 购买卡牌费用减免(金币)
RefreshDiscount = 14, // 刷新卡牌费用减免(金币) RefreshDiscount = 14, // 刷新卡牌费用减免(金币)
HeroHp = 16, // 英雄最大生命加成 HeroHp = 16, // 英雄最大生命光环
HeroWindFury = 17, // 英雄风怒概率加成 HeroWindFury = 17, // 英雄风怒概率加成
HeroPuncture = 18, // 英雄穿刺概率加成 HeroPuncture = 18, // 英雄穿刺概率加成
AtkCount = 19, // 攻击触发技能次数提升 AtkCount = 19, // 攻击触发技能次数提升
@@ -483,14 +483,14 @@ export const FieldSkillSet: Record<number, FieldSkillConfig> = {
7001: { uuid: 7001, name: "战后恢复", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.1, info: "战斗结束生命回复量+10%" }, 7001: { uuid: 7001, name: "战后恢复", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.1, info: "战斗结束生命回复量+10%" },
7002: { uuid: 7002, name: "攻击加成", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.1, info: "英雄攻击力+10%" }, 7002: { uuid: 7002, name: "攻击光环", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.1, info: "英雄攻击力+10%" },
7003: { uuid: 7003, name: "击晕加成", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.1, info: "英雄击晕概率+10%" }, 7003: { uuid: 7003, name: "击晕光环", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.1, info: "英雄击晕概率+10%" },
7004: { uuid: 7004, name: "暴击加成", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.1, info: "英雄暴击率+10%" }, 7004: { uuid: 7004, name: "暴击光环", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.1, info: "英雄暴击率+10%" },
7005: { uuid: 7005, name: "暴伤加成", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.2, info: "英雄暴击伤害+20%" }, 7005: { uuid: 7005, name: "暴伤光环", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.2, info: "英雄暴击伤害+20%" },
7006: { uuid: 7006, name: "攻速加成", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.1, info: "英雄攻击速度+10%" }, 7006: { uuid: 7006, name: "攻速光环", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.1, info: "英雄攻击速度+10%" },
7007: { uuid: 7007, name: "生命加成", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.1, info: "英雄最大生命+10%" }, 7007: { uuid: 7007, name: "生命光环", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.1, info: "英雄最大生命+10%" },
7008: { uuid: 7008, name: "风怒加成", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.1, info: "英雄风怒概率+10%" }, 7008: { uuid: 7008, name: "风怒光环", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.1, info: "英雄风怒概率+10%" },
7009: { uuid: 7009, name: "穿刺加成", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.1, info: "英雄穿刺概率+10%" }, 7009: { uuid: 7009, name: "穿刺光环", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.1, info: "英雄穿刺概率+10%" },
7010: { uuid: 7010, name: "金币收益", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 1, info: "每回合金币收益+1" }, 7010: { uuid: 7010, name: "金币收益", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 1, info: "每回合金币收益+1" },
7011: { uuid: 7011, name: "出售强化", icon: "Stat_GoldGainIncrease_01", type: FieldSkillType.SellGold, value: 1, info: "卖出英雄金币+1" }, 7011: { uuid: 7011, name: "出售强化", icon: "Stat_GoldGainIncrease_01", type: FieldSkillType.SellGold, value: 1, info: "卖出英雄金币+1" },
@@ -507,14 +507,14 @@ export const FieldSkillSet: Record<number, FieldSkillConfig> = {
// ============ wave5 档(原值 ×2 ============ // ============ wave5 档(原值 ×2 ============
7201: { uuid: 7201, name: "战后恢复+", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.2, info: "战斗结束生命回复量+20%" }, 7201: { uuid: 7201, name: "战后恢复+", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.2, info: "战斗结束生命回复量+20%" },
7202: { uuid: 7202, name: "攻击加成+", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.2, info: "英雄攻击力+20%" }, 7202: { uuid: 7202, name: "攻击光环+", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.2, info: "英雄攻击力+20%" },
7203: { uuid: 7203, name: "击晕加成+", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.2, info: "英雄击晕概率+20%" }, 7203: { uuid: 7203, name: "击晕光环+", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.2, info: "英雄击晕概率+20%" },
7204: { uuid: 7204, name: "暴击加成+", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.2, info: "英雄暴击率+20%" }, 7204: { uuid: 7204, name: "暴击光环+", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.2, info: "英雄暴击率+20%" },
7205: { uuid: 7205, name: "暴伤加成+", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.4, info: "英雄暴击伤害+40%" }, 7205: { uuid: 7205, name: "暴伤光环+", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.4, info: "英雄暴击伤害+40%" },
7206: { uuid: 7206, name: "攻速加成+", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.2, info: "英雄攻击速度+20%" }, 7206: { uuid: 7206, name: "攻速光环+", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.2, info: "英雄攻击速度+20%" },
7207: { uuid: 7207, name: "生命加成+", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.2, info: "英雄最大生命+20%" }, 7207: { uuid: 7207, name: "生命光环+", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.2, info: "英雄最大生命+20%" },
7208: { uuid: 7208, name: "风怒加成+", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.2, info: "英雄风怒概率+20%" }, 7208: { uuid: 7208, name: "风怒光环+", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.2, info: "英雄风怒概率+20%" },
7209: { uuid: 7209, name: "穿刺加成+", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.2, info: "英雄穿刺概率+20%" }, 7209: { uuid: 7209, name: "穿刺光环+", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.2, info: "英雄穿刺概率+20%" },
7210: { uuid: 7210, name: "金币收益+", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 2, info: "每回合金币收益+2" }, 7210: { uuid: 7210, name: "金币收益+", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 2, info: "每回合金币收益+2" },
@@ -525,14 +525,14 @@ export const FieldSkillSet: Record<number, FieldSkillConfig> = {
7401: { uuid: 7401, name: "战后恢复++", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.3, info: "战斗结束生命回复量+30%" }, 7401: { uuid: 7401, name: "战后恢复++", icon: "Stat_PotionBoost", type: FieldSkillType.WaveHeal, value: 0.3, info: "战斗结束生命回复量+30%" },
7402: { uuid: 7402, name: "攻击加成++", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.3, info: "英雄攻击力+30%" }, 7402: { uuid: 7402, name: "攻击光环++", icon: "Stat_Attack_03", type: FieldSkillType.HeroAtk, value: 0.3, info: "英雄攻击力+30%" },
7403: { uuid: 7403, name: "击晕加成++", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.3, info: "英雄击晕概率+30%" }, 7403: { uuid: 7403, name: "击晕光环++", icon: "Stat_Stun_01", type: FieldSkillType.HeroStun, value: 0.3, info: "英雄击晕概率+30%" },
7404: { uuid: 7404, name: "暴击加成++", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.3, info: "英雄暴击率+30%" }, 7404: { uuid: 7404, name: "暴击光环++", icon: "Stat_CriticalChance_02", type: FieldSkillType.HeroCrit, value: 0.3, info: "英雄暴击率+30%" },
7405: { uuid: 7405, name: "暴伤加成++", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.6, info: "英雄暴击伤害+60%" }, 7405: { uuid: 7405, name: "暴伤光环++", icon: "Stat_Critical_01", type: FieldSkillType.HeroCritDamage, value: 0.6, info: "英雄暴击伤害+60%" },
7406: { uuid: 7406, name: "攻速加成++", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.3, info: "英雄攻击速度+30%" }, 7406: { uuid: 7406, name: "攻速光环++", icon: "Stat_AttackSpeed_02", type: FieldSkillType.HeroSpeed, value: 0.3, info: "英雄攻击速度+30%" },
7407: { uuid: 7407, name: "生命加成++", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.3, info: "英雄最大生命+30%" }, 7407: { uuid: 7407, name: "生命光环++", icon: "Stat_Hp_02", type: FieldSkillType.HeroHp, value: 0.3, info: "英雄最大生命+30%" },
7408: { uuid: 7408, name: "风怒加成++", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.3, info: "英雄风怒概率+30%" }, 7408: { uuid: 7408, name: "风怒光环++", icon: "Stat_CriticalComboChance", type: FieldSkillType.HeroWindFury, value: 0.3, info: "英雄风怒概率+30%" },
7409: { uuid: 7409, name: "穿刺加成++", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.3, info: "英雄穿刺概率+30%" }, 7409: { uuid: 7409, name: "穿刺光环++", icon: "Stat_Tripleshot", type: FieldSkillType.HeroPuncture, value: 0.3, info: "英雄穿刺概率+30%" },
7410: { uuid: 7410, name: "金币收益++", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 3, info: "每回合金币收益+3" }, 7410: { uuid: 7410, name: "金币收益++", icon: "Stat_InventorySlotIncrease", type: FieldSkillType.WaveGold, value: 3, info: "每回合金币收益+3" },

View File

@@ -197,6 +197,17 @@ export const TriggerSkillNameSet: Record<string, Record<number, string>> = {
[SkillTriggerType.Revive]: { [SkillTriggerType.Revive]: {
6501: "凤凰涅槃", // 死亡后原地复活 6501: "凤凰涅槃", // 死亡后原地复活
}, },
// 驻场光环field英雄语境专属命名名字直接带"光环"便于玩家理解
[SkillTriggerType.Field]: {
7002: "攻击光环", // 英雄攻击力提升
7003: "击晕光环", // 英雄击晕概率提升
7004: "暴击光环", // 英雄暴击率提升
7005: "暴伤光环", // 英雄暴击伤害提升
7006: "攻速光环", // 英雄攻击速度提升
7007: "生命光环", // 英雄最大生命提升
7008: "风怒光环", // 英雄风怒概率提升
7009: "穿刺光环", // 英雄穿刺概率提升
},
} }
/** /**
@@ -206,7 +217,22 @@ export const TriggerSkillNameSet: Record<string, Record<number, string>> = {
* @returns 语境专属名称;未配置时回退 SkillSet 通用名称 * @returns 语境专属名称;未配置时回退 SkillSet 通用名称
*/ */
export function getTriggerSkillName(type: SkillTriggerType, s_uuid: number): string { export function getTriggerSkillName(type: SkillTriggerType, s_uuid: number): string {
return TriggerSkillNameSet[type]?.[s_uuid] ?? SkillSet[s_uuid]?.name ?? ""; const group = TriggerSkillNameSet[type];
if (group) {
// 直接命中
const direct = group[s_uuid];
if (direct) return direct;
// 驻场光环 +/++ 档(如 7202/7402回退到基础档命名7002
if (type === SkillTriggerType.Field) {
const base = group[7000 + (s_uuid % 100)];
if (base) return base;
}
}
// 驻场光环 uuid 存于 FieldSkillSet触发技能存于 SkillSet分别兜底
if (type === SkillTriggerType.Field) {
return FieldSkillSet[s_uuid]?.name ?? "";
}
return SkillSet[s_uuid]?.name ?? "";
} }
/** /**
@@ -654,7 +680,7 @@ export const HeroInfo: Record<number, heroInfo> = {
{ lv: 3, s_uuid: 6501, r_num: 1, upr: 0.6 }, { lv: 3, s_uuid: 6501, r_num: 1, upr: 0.6 },
{ lv: 5, s_uuid: 6501, r_num: 1, upr: 0.7 }, { lv: 5, s_uuid: 6501, r_num: 1, upr: 0.7 },
], ],
info: "<color=#27AE60>✧</color>死亡全队攻血提升\n<color=#9B59B6>✦</color>死亡后原地复活", info: "<color=#27AE60>✧</color>死亡全队攻血提升\n<color=#9B59B6>✦</color>死亡后原地重生",
}, },
5043: { 5043: {
uuid: 5043, name: "亡魂刺客", path: "hc1", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, hp: 900, ap: 85, uuid: 5043, name: "亡魂刺客", path: "hc1", fac: FacSet.HERO, card_lv: 3, lv: 1, type: HType.Melee, hp: 900, ap: 85,
@@ -717,7 +743,7 @@ export const HeroInfo: Record<number, heroInfo> = {
{ lv: 1, s_uuid: 6501, r_num: 1, upr: 0.5 }, { lv: 1, s_uuid: 6501, r_num: 1, upr: 0.5 },
{ lv: 3, s_uuid: 6501, r_num: 1, upr: 0.6 }, { lv: 3, s_uuid: 6501, r_num: 1, upr: 0.6 },
], ],
info: "<color=#27AE60>✧</color>死亡全队加护盾\n<color=#27AE60>✧</color>复活1:50%血量", info: "<color=#27AE60>✧</color>死亡全队加护盾\n<color=#27AE60>✧</color>重生: 每回合可重生1次, 恢复50%血量",
}, },
// ========== fstart 类(法师 · 战前增益) ========== // ========== fstart 类(法师 · 战前增益) ==========
@@ -734,7 +760,7 @@ export const HeroInfo: Record<number, heroInfo> = {
], ],
}, },
hp_bonus: [{ lv: 2, value: 80 }, { lv: 4, value: 80 }], hp_bonus: [{ lv: 2, value: 80 }, { lv: 4, value: 80 }],
info: "<color=#27AE60>✧</color>开局全队提升攻击", info: "<color=#27AE60>✧</color>回合开始全队提升攻击",
}, },
5052: { 5052: {
uuid: 5052, name: "护盾牧师", path: "hm2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, hp: 287, ap: 80, uuid: 5052, name: "护盾牧师", path: "hm2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, hp: 287, ap: 80,
@@ -751,7 +777,7 @@ export const HeroInfo: Record<number, heroInfo> = {
], ],
}, },
hp_bonus: [{ lv: 3, value: 80 }], hp_bonus: [{ lv: 3, value: 80 }],
info: "<color=#27AE60>✧</color>开局全队获得护盾", info: "<color=#27AE60>✧</color>回合开始全队获得护盾",
}, },
// 5052: { // 5052: {
// uuid: 5052, name: "护盾牧师", path: "hm2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, hp: 287, ap: 80, // uuid: 5052, name: "护盾牧师", path: "hm2", fac: FacSet.HERO, card_lv: 2, lv: 1, type: HType.Long, hp: 287, ap: 80,
@@ -879,11 +905,11 @@ export const HeroInfo: Record<number, heroInfo> = {
}, },
6002: { 6002: {
uuid: 6002, name: "兽人精锐战士", path: "m2", fac: FacSet.MON, lv: 1, type: HType.Melee, monType: MonType.Melee, hp: 300, ap: 14, speed: 110, uuid: 6002, name: "兽人精锐战士", path: "m2", fac: FacSet.MON, lv: 1, type: HType.Melee, monType: MonType.Melee, hp: 300, ap: 14, speed: 110,
skills: { 6005: { uuid: 6005, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow2].cd, ccd: 0 } }, info: "进阶前排怪更快更痛" skills: { 6005: { uuid: 6005, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow2].cd, ccd: 0 } }, info: "进阶前排怪, 更快更痛"
}, },
6003: { 6003: {
uuid: 6003, name: "兽人重装兵", path: "m3", fac: FacSet.MON, lv: 1, type: HType.Melee, monType: MonType.Heavy, hp: 850, ap: 20, speed: 50, uuid: 6003, name: "兽人重装兵", path: "m3", fac: FacSet.MON, lv: 1, type: HType.Melee, monType: MonType.Heavy, hp: 850, ap: 20, speed: 50,
skills: { 6005: { uuid: 6005, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow3].cd, ccd: 0 } }, info: "重型坦克怪高HP慢攻" skills: { 6005: { uuid: 6005, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow3].cd, ccd: 0 } }, info: "重型坦克怪, 高HP慢攻"
}, },
// 后排怪物 (站在后排,输出更高) // 后排怪物 (站在后排,输出更高)
6004: { 6004: {
@@ -901,7 +927,7 @@ export const HeroInfo: Record<number, heroInfo> = {
}, },
6007: { 6007: {
uuid: 6007, name: "兽人术士", path: "m7", fac: FacSet.MON, lv: 1, type: HType.Long, monType: MonType.Support, hp: 300, ap: 24, speed: 70, uuid: 6007, name: "兽人术士", path: "m7", fac: FacSet.MON, lv: 1, type: HType.Long, monType: MonType.Support, hp: 300, ap: 24, speed: 70,
skills: { 6103: { uuid: 6103, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow1].cd, ccd: 0 } }, info: "后排法师怪魔法攻击" skills: { 6103: { uuid: 6103, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow1].cd, ccd: 0 } }, info: "后排法师怪, 魔法攻击"
}, },
6008: { 6008: {
uuid: 6008, name: "兽人火法", path: "m8", fac: FacSet.MON, lv: 1, type: HType.Long, monType: MonType.Summoner, hp: 270, ap: 32, speed: 70, uuid: 6008, name: "兽人火法", path: "m8", fac: FacSet.MON, lv: 1, type: HType.Long, monType: MonType.Summoner, hp: 270, ap: 32, speed: 70,
@@ -911,19 +937,19 @@ export const HeroInfo: Record<number, heroInfo> = {
// BOSS怪物 — Boss节奏1.2-1.5s删除不存在的6206技能 // BOSS怪物 — Boss节奏1.2-1.5s删除不存在的6206技能
6101: { 6101: {
uuid: 6101, name: "兽人首领-双刀战士", path: "mb1", fac: FacSet.MON, lv: 6, type: HType.Melee, monType: MonType.MeleeBoss, hp: 1900, ap: 30, speed: 120, uuid: 6101, name: "兽人首领-双刀战士", path: "mb1", fac: FacSet.MON, lv: 6, type: HType.Melee, monType: MonType.MeleeBoss, hp: 1900, ap: 30, speed: 120,
skills: { 6103: { uuid: 6103, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow3].cd, ccd: 0 } }, info: "前排Boss高攻速" skills: { 6103: { uuid: 6103, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow3].cd, ccd: 0 } }, info: "前排Boss, 高攻速"
}, },
6102: { 6102: {
uuid: 6102, name: "兽人首领-斧头战士", path: "mb2", fac: FacSet.MON, lv: 6, type: HType.Melee, monType: MonType.MeleeBoss, hp: 7500, ap: 26, speed: 60, uuid: 6102, name: "兽人首领-斧头战士", path: "mb2", fac: FacSet.MON, lv: 6, type: HType.Melee, monType: MonType.MeleeBoss, hp: 7500, ap: 26, speed: 60,
skills: { 6005: { uuid: 6005, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow1].cd, ccd: 0 } }, info: "前排Boss超高HP" skills: { 6005: { uuid: 6005, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow1].cd, ccd: 0 } }, info: "前排Boss, 超高HP"
}, },
6103: { 6103: {
uuid: 6103, name: "兽人首领-魔法师", path: "mb3", fac: FacSet.MON, lv: 6, type: HType.Long, monType: MonType.LongBoss, hp: 2250, ap: 38, speed: 110, uuid: 6103, name: "兽人首领-魔法师", path: "mb3", fac: FacSet.MON, lv: 6, type: HType.Long, monType: MonType.LongBoss, hp: 2250, ap: 38, speed: 110,
skills: { 6103: { uuid: 6103, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow2].cd, ccd: 0 } }, info: "后排法系Boss高AP" skills: { 6103: { uuid: 6103, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow2].cd, ccd: 0 } }, info: "后排法系Boss, 高AP"
}, },
6104: { 6104: {
uuid: 6104, name: "兽人首领-射手", path: "mb4", fac: FacSet.MON, lv: 6, type: HType.Long, monType: MonType.LongBoss, hp: 6800, ap: 30, speed: 70, uuid: 6104, name: "兽人首领-射手", path: "mb4", fac: FacSet.MON, lv: 6, type: HType.Long, monType: MonType.LongBoss, hp: 6800, ap: 30, speed: 70,
skills: { 6005: { uuid: 6005, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow3].cd, ccd: 0 } }, info: "后排位Boss均衡型" skills: { 6005: { uuid: 6005, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow3].cd, ccd: 0 } }, info: "后排位Boss, 均衡型"
}, },
6105: { 6105: {
uuid: 6105, name: "亡灵首领-法师", path: "mb5", fac: FacSet.MON, lv: 6, type: HType.Long, monType: MonType.LongBoss, hp: 2600, ap: 42, speed: 110, uuid: 6105, name: "亡灵首领-法师", path: "mb5", fac: FacSet.MON, lv: 6, type: HType.Long, monType: MonType.LongBoss, hp: 2600, ap: 42, speed: 110,
@@ -931,7 +957,7 @@ export const HeroInfo: Record<number, heroInfo> = {
}, },
6106: { 6106: {
uuid: 6106, name: "亡灵首领-骑马战士", path: "mb6", fac: FacSet.MON, lv: 6, type: HType.Melee, monType: MonType.MeleeBoss, hp: 9000, ap: 26, speed: 130, uuid: 6106, name: "亡灵首领-骑马战士", path: "mb6", fac: FacSet.MON, lv: 6, type: HType.Melee, monType: MonType.MeleeBoss, hp: 9000, ap: 26, speed: 130,
skills: { 6005: { uuid: 6005, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow3].cd, ccd: 0 } }, info: "前排终极Boss最高HP+高速" skills: { 6005: { uuid: 6005, lv: 1, cd: AtkSpeedSet[AtkSpeedLv.VerySlow3].cd, ccd: 0 } }, info: "前排终极Boss, 最高HP+高速"
}, },

View File

@@ -21,6 +21,7 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ec
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp"; import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
import { CardConfig, CardType } from "../common/config/CardSet"; import { CardConfig, CardType } from "../common/config/CardSet";
import { HeroInfo } from "../common/config/heroSet"; import { HeroInfo } from "../common/config/heroSet";
import { buildSkillDescMoreRich, ISkillDescSource } from "../common/config/HeroSkillDesc";
import { oops } from "db://oops-framework/core/Oops"; import { oops } from "db://oops-framework/core/Oops";
import { GameEvent } from "../common/config/GameEvent"; import { GameEvent } from "../common/config/GameEvent";
import { outlineRich } from "../common/RichOutline"; import { outlineRich } from "../common/RichOutline";
@@ -284,10 +285,11 @@ export class CHeroComp extends CCComp {
// 背景:按 card_lv 激活对应颜色子节点1→green 2→blue 3→purple 4→red 5→yellow // 背景:按 card_lv 激活对应颜色子节点1→green 2→blue 3→purple 4→red 5→yellow
this.updateBgNode(); this.updateBgNode();
// 描述富文本:直接取 heroSet 的 info 字段(单条手写文案 // 描述富文本:不再单独手写 info统一套用英雄 1 级能力介绍buildSkillDescMoreRich
// 与英雄信息弹窗/升级确认框同一套文案规则,杜绝手写文案与数值漂移
// outlineRich 为整段富文本包裹描边,提升深色面板可读性 // outlineRich 为整段富文本包裹描边,提升深色面板可读性
if (this.info_rich) { if (this.info_rich) {
const desc = hero?.info || this.cardData.info || ""; const desc = hero ? buildSkillDescMoreRich(this.buildHeroDescSource(hero)) : (this.cardData.info || "");
this.info_rich.string = outlineRich(desc); this.info_rich.string = outlineRich(desc);
this.info_rich.node.active = !!desc; this.info_rich.node.active = !!desc;
} }
@@ -464,6 +466,26 @@ export class CHeroComp extends CCComp {
return model.hero_uuid ?? null; return model.hero_uuid ?? null;
} }
/**
* 构造英雄 1 级能力描述数据源ISkillDescSource
* lv 恒为 1由各 resolver 取 1 级生效档,与英雄信息弹窗初始展示口径一致。
* @param hero HeroInfo 静态配置项
* @returns 描述数据源
*/
private buildHeroDescSource(hero: typeof HeroInfo[number]): ISkillDescSource {
return {
lv: 1,
call: hero.call,
dead: hero.dead,
fstart: hero.fstart,
fend: hero.fend,
atking: hero.atking,
atked: hero.atked,
field: hero.field,
revive: hero.revive,
};
}
/** /**
* 为英雄图标加载 idle 动画剪辑,提取首帧 SpriteFrame 静止展示。 * 为英雄图标加载 idle 动画剪辑,提取首帧 SpriteFrame 静止展示。
* 与 HInfoComp 的 updateHeroAnimation 一致,零运行时开销。 * 与 HInfoComp 的 updateHeroAnimation 一致,零运行时开销。

View File

@@ -172,7 +172,6 @@ export class HeroBoxComp extends CCComp {
} }
oops.audio.playEffect("music/button"); oops.audio.playEffect("music/button");
const heroName = this.model.hero_name ?? "";
const nextLv = heroLv + 1; const nextLv = heroLv + 1;
const cost = MissionEconomy.getUpgradeCost(heroLv); const cost = MissionEconomy.getUpgradeCost(heroLv);
// 金币不足smalltip 气泡提示(挂载金币节点),不弹确认框 // 金币不足smalltip 气泡提示(挂载金币节点),不弹确认框
@@ -185,7 +184,7 @@ export class HeroBoxComp extends CCComp {
// oops.gui 公共确认窗口(自定义 CommonPrompt内容支持富文本高亮 // oops.gui 公共确认窗口(自定义 CommonPrompt内容支持富文本高亮
oops.gui.open(UIID.Window, { oops.gui.open(UIID.Window, {
title: `升级英雄`, title: `升级英雄`,
content: `<color=#C0392B>${heroName}</color> Lv.${heroLv} → <color=#1E8449>Lv.${nextLv}</color>\n消耗 <color=#E67E22>${cost}</color> 金币\n\n${preview}`, content: preview,
okWord: "升级", okWord: "升级",
cancelWord: "取消", cancelWord: "取消",
needCancel: true, needCancel: true,
@@ -241,7 +240,7 @@ export class HeroBoxComp extends CCComp {
const curDesc = buildSkillDescMoreRich(buildSource(heroLv)); const curDesc = buildSkillDescMoreRich(buildSource(heroLv));
const nextDesc = buildSkillDescMoreRich(buildSource(nextLv)); const nextDesc = buildSkillDescMoreRich(buildSource(nextLv));
return [ return `<outline color=#000000 width=2>` + [
`<b>当前 Lv.${heroLv}</b>`, `<b>当前 Lv.${heroLv}</b>`,
attrLine(heroLv), attrLine(heroLv),
curDesc, curDesc,
@@ -249,7 +248,7 @@ export class HeroBoxComp extends CCComp {
`<b>升级后 Lv.${nextLv}</b>`, `<b>升级后 Lv.${nextLv}</b>`,
attrLine(nextLv), attrLine(nextLv),
nextDesc, nextDesc,
].filter(s => s !== undefined).join("\n"); ].filter(s => s !== undefined).join("\n") + `</outline>`;
} }
/** 累加等级额外加成(≤目标等级的所有档位) */ /** 累加等级额外加成(≤目标等级的所有档位) */