From d4cd54d5d8db68b962dd83609fc62548293f8ad1 Mon Sep 17 00:00:00 2001 From: pan Date: Wed, 17 Jun 2026 15:03:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(config):=20=E6=96=B0=E5=A2=9E=E5=8D=A1?= =?UTF-8?q?=E7=89=8C=E7=AD=89=E7=BA=A7=E4=B8=8A=E9=99=90=E4=B8=8E=E6=8A=80?= =?UTF-8?q?=E8=83=BD=E5=8D=A1=E6=B1=A0=E9=85=8D=E7=BD=AE=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 扩展CardLV枚举至LV5,将卡池等级上限提升至5级 2. 重构技能卡牌配置逻辑,按波次分组管理并自动匹配对应卡池等级 3. 整理并新增多阶段技能卡牌数据,适配更高等级游戏内容 --- assets/script/game/common/config/CardSet.ts | 105 ++++++++++++++------ 1 file changed, 77 insertions(+), 28 deletions(-) diff --git a/assets/script/game/common/config/CardSet.ts b/assets/script/game/common/config/CardSet.ts index 44763e91..372ebaa1 100644 --- a/assets/script/game/common/config/CardSet.ts +++ b/assets/script/game/common/config/CardSet.ts @@ -42,6 +42,8 @@ export enum CardLV { LV1 = 1, LV2 = 2, LV3 = 3, + LV4 = 4, + LV5 = 5, } /** 通用卡牌配置 */ @@ -83,7 +85,7 @@ export const CARD_POOL_UPGRADE_DISCOUNT_PER_WAVE = 10 /** 卡池默认初始等级 */ export const CARD_POOL_INIT_LEVEL = CardLV.LV1 /** 卡池等级上限 */ -export const CARD_POOL_MAX_LEVEL = CardLV.LV3 +export const CARD_POOL_MAX_LEVEL = CardLV.LV5 /** 英雄最高等级限制 */ export const CARD_HERO_MAX_LEVEL = 1 /** 基础卡池(英雄、技能、功能) */ @@ -138,33 +140,80 @@ HeroList.forEach(uuid => { }); // 添加非英雄卡牌 (技能、功能卡) -CardPoolList.push( - // 技能卡牌 (以增益/辅助为主,因为在备战期没有敌人) - { uuid: 8304, skill: 6304, type: CardType.Skill, cost: 0, weight: 20, pool_lv: 1, wave: 1, kind: CKind.Skill, card_lv: 1, name: t("skill_name_6304"), info: t("skill_info_6304"), is_inst: true, t_times: 1, t_inv: 0, keep_waves: 15 }, - { uuid: 8305, skill: 6305, type: CardType.Skill, cost: 0, weight: 20, pool_lv: 1, wave: 1, kind: CKind.Skill, card_lv: 1, name: t("skill_name_6305"), info: t("skill_info_6305"), is_inst: true, t_times: 1, t_inv: 0, keep_waves: 15 }, - // 自定义 overrides 示例卡牌 - { - uuid: 8401, skill: 6401, type: CardType.Skill, cost: 0, weight: 10, pool_lv: 1, wave: 1, kind: CKind.Skill, card_lv: 1, - name: "超强攻击强化", info: "使场上英雄增加50点攻击力", - is_inst: true, t_times: 1, t_inv: 0, keep_waves: 15, overrides: { ap: 50 } - }, - { - uuid: 8101, skill: 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: 2, overrides: { TGroup: TGroup.Enemy, ap: 300, hit_count: 2 } - }, - // 驻场技能示例卡牌 - { - uuid: 8501, skill: 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: 8502, skill: 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% - } -); +const waveToPoolLv: Record = { + 1: 1, + 5: 2, + 10: 3, + 15: 4, + 20: 5 +}; + +const SkillCardData: any[] = [ + // === 1波技能 === + { uuid: 8301, skill: 6301, wave: 1, name: "护盾", info: "为伙伴/自己添加护盾,可抵挡3次伤害", is_inst: true, keep_waves: 15 }, + { uuid: 8302, skill: 6302, wave: 1, name: "治疗", info: "治疗伙伴/自己", is_inst: true, keep_waves: 15 }, + { uuid: 8705, skill: 0, wave: 1, name: "金币收益", info: "每回合金币收益+1", is_inst: false, keep_waves: -1, field: [7005] }, + { uuid: 8706, skill: 0, wave: 1, name: "出售强化", info: "卖出英雄金币+1", is_inst: false, keep_waves: -1, field: [7006] }, + { uuid: 8707, skill: 0, wave: 1, name: "战后恢复", info: "战斗结束生命回复量+10%", is_inst: false, keep_waves: -1, field: [7007] }, + + // === 5波技能 === + { uuid: 8303, skill: 6303, wave: 5, name: "获取金币", info: "增加一定数量的金币", is_inst: true, keep_waves: 15 }, + { uuid: 8401, skill: 6401, wave: 5, name: "攻击强化", info: "全体友方攻击力提升5点,持续1次", is_inst: true, keep_waves: 15 }, + { uuid: 8402, skill: 6402, wave: 5, name: "生命强化", info: "全体友方最大生命值提升20点,持续1次", is_inst: true, keep_waves: 15 }, + { uuid: 8403, skill: 6403, wave: 5, name: "暴击强化", info: "全体友方暴击率提升10%,持续1次", is_inst: true, keep_waves: 15 }, + { uuid: 8404, skill: 6404, wave: 5, name: "暴伤强化", info: "全体友方暴击伤害提升20%,持续1次", is_inst: true, keep_waves: 15 }, + { uuid: 8405, skill: 6405, wave: 5, name: "击晕强化", info: "全体友方击晕概率提升10%,持续1次", is_inst: true, keep_waves: 15 }, + { uuid: 8408, skill: 6408, wave: 5, name: "穿刺强化", info: "全体友方穿透概率提升20%,持续1次", is_inst: true, keep_waves: 15 }, + { uuid: 8409, skill: 6409, wave: 5, name: "风怒强化", info: "全体友方风怒次数提升1次,持续1次", is_inst: true, keep_waves: 15 }, + { uuid: 8501, skill: 6501, wave: 5, name: "复活", info: "ap 代表复活的生命值百分比", is_inst: true, keep_waves: 15 }, + + // === 10波技能 === + { uuid: 8708, skill: 0, wave: 10, name: "攻击加成", info: "英雄攻击力+10%", is_inst: false, keep_waves: -1, field: [7008] }, + { uuid: 8709, skill: 0, wave: 10, name: "击晕加成", info: "英雄击晕概率+10%", is_inst: false, keep_waves: -1, field: [7009] }, + { uuid: 8710, skill: 0, wave: 10, name: "暴击加成", info: "英雄暴击率+10%", is_inst: false, keep_waves: -1, field: [7010] }, + { uuid: 8711, skill: 0, wave: 10, name: "暴伤加成", info: "英雄暴击伤害+20%", is_inst: false, keep_waves: -1, field: [7011] }, + { uuid: 8712, skill: 0, wave: 10, name: "攻速加成", info: "英雄攻击速度+10%", is_inst: false, keep_waves: -1, field: [7012] }, + { uuid: 8713, skill: 0, wave: 10, name: "购买优惠", info: "购买卡牌费用-1金币", is_inst: false, keep_waves: -1, field: [7013] }, + { uuid: 8714, skill: 0, wave: 10, name: "刷新优惠", info: "刷新卡牌费用-1金币", is_inst: false, keep_waves: -1, field: [7014] }, + { uuid: 8716, skill: 0, wave: 10, name: "生命加成", info: "英雄最大生命+10%", is_inst: false, keep_waves: -1, field: [7016] }, + { uuid: 8717, skill: 0, wave: 10, name: "风怒加成", info: "英雄风怒概率+10%", is_inst: false, keep_waves: -1, field: [7017] }, + { uuid: 8718, skill: 0, wave: 10, name: "穿刺加成", info: "英雄穿刺概率+10%", is_inst: false, keep_waves: -1, field: [7018] }, + + // === 15波技能 === + { uuid: 8701, skill: 0, wave: 15, name: "召唤强化", info: "召唤触发技能次数+1", is_inst: false, keep_waves: -1, field: [7001] }, + { uuid: 8702, skill: 0, wave: 15, name: "死亡强化", info: "死亡触发技能次数+1", is_inst: false, keep_waves: -1, field: [7002] }, + { uuid: 8703, skill: 0, wave: 15, name: "开场强化", info: "战斗开始触发技能次数+1", is_inst: false, keep_waves: -1, field: [7003] }, + { uuid: 8704, skill: 0, wave: 15, name: "结束强化", info: "战斗结束触发技能次数+1", is_inst: false, keep_waves: -1, field: [7004] }, + + // === 20波技能 === + { uuid: 8201, skill: 6201, wave: 20, name: "雷墙", info: "召唤雷墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1 }, + { uuid: 8202, skill: 6202, wave: 20, name: "火墙", info: "召唤火墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1 }, + { uuid: 8203, skill: 6203, wave: 20, name: "飓风", info: "召唤飓风攻击敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1 }, + { uuid: 8204, skill: 6204, wave: 20, name: "水墙", info: "召唤水墙阻挡敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1 }, + { uuid: 8205, skill: 6205, wave: 20, name: "风墙", info: "召唤风墙困住敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1 }, + { uuid: 8206, skill: 6206, wave: 20, name: "陨石术", info: "召唤陨石范围攻击敌人,有概率击晕", is_inst: false, t_times: 999, t_inv: 5, keep_waves: -1 }, +]; + +SkillCardData.forEach(data => { + CardPoolList.push({ + uuid: data.uuid, + skill: data.skill || undefined, + type: CardType.Skill, + cost: 0, + weight: 10, + pool_lv: waveToPoolLv[data.wave] as CardLV, + wave: data.wave, + kind: CKind.Skill, + card_lv: 1, + name: data.name, + info: data.info, + is_inst: data.is_inst, + t_times: data.t_times || (data.is_inst ? 1 : 999), + t_inv: data.t_inv || 0, + keep_waves: data.keep_waves, + field: data.field + }); +}); export enum SpecialRefreshHeroType {