feat(field-skill): 新增驻场技能卡牌支持与属性计算逻辑

为CardConfig接口新增field字段用于配置驻场技能UUID数组
新增两个示例驻场光环卡牌
优化FieldSkillHelper统计场上技能卡牌的属性加成
调整SkillBoxComp逻辑:驻场技能隐藏剩余次数、跳过定期触发
This commit is contained in:
panFD
2026-06-04 21:21:34 +08:00
parent 998300f721
commit c1f1aea387
3 changed files with 46 additions and 5 deletions

View File

@@ -65,6 +65,7 @@ export interface CardConfig {
t_inv?: number // 触发间隔(秒)
keep_waves?: number // 维持的波次数(-1表示持续到战斗结束0或undefined表示仅本波次
overrides?: SkillOverrides // 技能参数覆写如自定义伤害ap、buff值、金币数等
field?: number[] // 驻场技能 UUID 数组,表示该卡牌提供驻场属性加成
}
export const CardsUpSet: Record<number, number> = {
1: 50,
@@ -141,7 +142,18 @@ CardPoolList.push(
{
uuid: 6101, type: CardType.Skill, cost: 0, weight: 10, pool_lv: 1, wave: 1, kind: CKind.Skill, card_lv: 1,
name: "持续天降火球", info: "战斗中每隔3秒释放一个火球造成300%伤害持续2波次",
is_inst: false, t_times: 999, t_inv: 3, keep_waves: 15, overrides: { TGroup: TGroup.Enemy, ap: 300, hit_count: 2 }
is_inst: false, t_times: 999, t_inv: 3, keep_waves: 2, overrides: { TGroup: TGroup.Enemy, ap: 300, hit_count: 2 }
},
// 驻场技能示例卡牌
{
uuid: 6501, type: CardType.Skill, cost: 0, weight: 10, pool_lv: 1, wave: 1, kind: CKind.Skill, card_lv: 1,
name: "全体攻击光环", info: "全体英雄攻击力增加20%,只要此卡在场就生效",
is_inst: false, t_times: 999, t_inv: 0, keep_waves: -1, field: [7008] // 对应 FieldSkillSet[7008] HeroAtk +20%
},
{
uuid: 6502, type: CardType.Skill, cost: 0, weight: 10, pool_lv: 1, wave: 1, kind: CKind.Skill, card_lv: 1,
name: "全体生命光环", info: "全体英雄最大生命增加10%,只要此卡在场就生效",
is_inst: false, t_times: 999, t_inv: 0, keep_waves: -1, field: [7016] // 对应 FieldSkillSet[7016] HeroHp +10%
}
);