refactor(equip): 重构装备等级显示与配置逻辑
1. 替换原有的星级等级显示为标准Lv.格式 2. 移除wave档位映射,直接使用card_lv字段管理装备等级 3. 统一装备配置表的等级分组命名与字段使用
This commit is contained in:
@@ -12,20 +12,14 @@
|
||||
*
|
||||
* 依赖:
|
||||
* - CardConfig / CardTriggerType / CardType / CKind(CardSet)
|
||||
* - SKILL_CARD_WAVES(GameSet)—— wave 档位定义
|
||||
* - FieldSkillSet(SkillSet)—— 属性词条配置
|
||||
*/
|
||||
import { CardConfig, CardType, CKind, CardTriggerType } from "./CardSet";
|
||||
import { SKILL_CARD_WAVES } from "./GameSet";
|
||||
|
||||
/** wave → card_lv 映射(wave 1→lv1, wave 5→lv2, wave 8→lv3) */
|
||||
const waveToCardLv: Record<number, number> = {};
|
||||
SKILL_CARD_WAVES.forEach((w, i) => { waveToCardLv[w] = i + 1; });
|
||||
|
||||
/** 装备卡原始数据(仅装备相关字段,由 EquipSet 内部转换为 CardConfig) */
|
||||
interface EquipRawData {
|
||||
uuid: number;
|
||||
wave: number;
|
||||
card_lv: number;
|
||||
name: string;
|
||||
info: string;
|
||||
icon?: string; // 图标ID(对应 ui6 图集 frame 名)
|
||||
@@ -35,57 +29,57 @@ interface EquipRawData {
|
||||
|
||||
/** 装备卡原始数据表 */
|
||||
const EquipRawList: EquipRawData[] = [
|
||||
// ==================== wave 1 档(基础强度) ====================
|
||||
{ uuid: 8701, wave: SKILL_CARD_WAVES[0], icon: "Helmet-FA_Helmet_021_Gray", name: "战后恢复", info: "战斗结束生命回复量+10%", field: [7001] },
|
||||
{ uuid: 8702, wave: SKILL_CARD_WAVES[0], icon: "Sword-FA_WP_Main_Sword_003_GrayGold", name: "攻击加成", info: "全体攻击力+10%", field: [7002] },
|
||||
{ uuid: 8703, wave: SKILL_CARD_WAVES[0], icon: "Blunt-FA_WP_Main_Blunt_002_Wood", name: "击晕加成", info: "全体击晕概率+10%", field: [7003] },
|
||||
{ uuid: 8704, wave: SKILL_CARD_WAVES[0], icon: "Axe-FA_WP_Main_Axe_001_WoodGray", name: "暴击加成", info: "全体暴击率+10%", field: [7004] },
|
||||
{ uuid: 8705, wave: SKILL_CARD_WAVES[0], icon: "Bow-FA_WP_Main_Bow_003_WoodGreen", name: "暴伤加成", info: "全体暴击伤害+20%", field: [7005] },
|
||||
{ uuid: 8706, wave: SKILL_CARD_WAVES[0], icon: "Crossbow-FA_WP_Main_Crossbow_001_WoodWhite", name: "攻速加成", info: "全体攻击速度+10%", field: [7006] },
|
||||
{ uuid: 8707, wave: SKILL_CARD_WAVES[0], icon: "Chest-FA_Chest_014_Gray", name: "生命加成", info: "全体最大生命+10%", field: [7007] },
|
||||
{ uuid: 8708, wave: SKILL_CARD_WAVES[0], icon: "Wand-FA_WP_Main_Wand_001_GrayGreen", name: "风怒加成", info: "全体风怒概率+10%", field: [7008] },
|
||||
{ uuid: 8709, wave: SKILL_CARD_WAVES[0], icon: "Spear-FA_WP_Main_Spear_004_WoodBlue", name: "穿刺加成", info: "全体穿刺概率+10%", field: [7009] },
|
||||
{ uuid: 8710, wave: SKILL_CARD_WAVES[0], icon: "Shield-FA_WP_Sub_Shield_007_GoldGray", name: "金币收益", info: "每回合金币收益+1", field: [7010] },
|
||||
{ uuid: 8711, wave: SKILL_CARD_WAVES[0], icon: "Staff-FA_WP_Main_Staff_003_WoodSkyblue", name: "出售强化", info: "卖出英雄金币+1", field: [7011] },
|
||||
// ==================== card_lv 1 档(基础强度) ====================
|
||||
{ uuid: 8701, card_lv: 1, icon: "Helmet-FA_Helmet_021_Gray", name: "战后恢复", info: "战斗结束生命回复量+10%", field: [7001] },
|
||||
{ uuid: 8702, card_lv: 1, icon: "Sword-FA_WP_Main_Sword_003_GrayGold", name: "攻击加成", info: "全体攻击力+10%", field: [7002] },
|
||||
{ uuid: 8703, card_lv: 1, icon: "Blunt-FA_WP_Main_Blunt_002_Wood", name: "击晕加成", info: "全体击晕概率+10%", field: [7003] },
|
||||
{ uuid: 8704, card_lv: 1, icon: "Axe-FA_WP_Main_Axe_001_WoodGray", name: "暴击加成", info: "全体暴击率+10%", field: [7004] },
|
||||
{ uuid: 8705, card_lv: 1, icon: "Bow-FA_WP_Main_Bow_003_WoodGreen", name: "暴伤加成", info: "全体暴击伤害+20%", field: [7005] },
|
||||
{ uuid: 8706, card_lv: 1, icon: "Crossbow-FA_WP_Main_Crossbow_001_WoodWhite", name: "攻速加成", info: "全体攻击速度+10%", field: [7006] },
|
||||
{ uuid: 8707, card_lv: 1, icon: "Chest-FA_Chest_014_Gray", name: "生命加成", info: "全体最大生命+10%", field: [7007] },
|
||||
{ uuid: 8708, card_lv: 1, icon: "Wand-FA_WP_Main_Wand_001_GrayGreen", name: "风怒加成", info: "全体风怒概率+10%", field: [7008] },
|
||||
{ uuid: 8709, card_lv: 1, icon: "Spear-FA_WP_Main_Spear_004_WoodBlue", name: "穿刺加成", info: "全体穿刺概率+10%", field: [7009] },
|
||||
{ uuid: 8710, card_lv: 1, icon: "Shield-FA_WP_Sub_Shield_007_GoldGray", name: "金币收益", info: "每回合金币收益+1", field: [7010] },
|
||||
{ uuid: 8711, card_lv: 1, icon: "Staff-FA_WP_Main_Staff_003_WoodSkyblue", name: "出售强化", info: "卖出英雄金币+1", field: [7011] },
|
||||
// 多词条装备
|
||||
{ uuid: 8720, wave: SKILL_CARD_WAVES[0], icon: "Shield-FA_WP_Sub_Shield_007_GoldGray", name: "勇者护符", info: "全体攻击力+10%, 暴击率+10%, 暴击伤害+20%", field: [7002, 7004, 7005] },
|
||||
{ uuid: 8720, card_lv: 1, icon: "Shield-FA_WP_Sub_Shield_007_GoldGray", name: "勇者护符", info: "全体攻击力+10%, 暴击率+10%, 暴击伤害+20%", field: [7002, 7004, 7005] },
|
||||
|
||||
// ==================== wave 5 档(强度 ×2) ====================
|
||||
{ uuid: 8751, wave: SKILL_CARD_WAVES[1], icon: "Helmet-FA_Helmet_022_DarkBlue", name: "战后恢复+", info: "战斗结束生命回复量+20%", field: [7201] },
|
||||
{ uuid: 8752, wave: SKILL_CARD_WAVES[1], icon: "Sword-FA_WP_Main_Sword_007_Blue", name: "攻击加成+", info: "全体攻击力+20%", field: [7202] },
|
||||
{ uuid: 8753, wave: SKILL_CARD_WAVES[1], icon: "Blunt-FA_WP_Main_Blunt_004_Gray", name: "击晕加成+", info: "全体击晕概率+20%", field: [7203] },
|
||||
{ uuid: 8754, wave: SKILL_CARD_WAVES[1], icon: "Axe-FA_WP_Main_Axe_006_WoodBronze", name: "暴击加成+", info: "全体暴击率+20%", field: [7204] },
|
||||
{ uuid: 8755, wave: SKILL_CARD_WAVES[1], icon: "Bow-FA_WP_Main_Bow_010_Blue", name: "暴伤加成+", info: "全体暴击伤害+40%", field: [7205] },
|
||||
{ uuid: 8756, wave: SKILL_CARD_WAVES[1], icon: "Crossbow-FA_WP_Main_Crossbow_004_Gray", name: "攻速加成+", info: "全体攻击速度+20%", field: [7206] },
|
||||
{ uuid: 8757, wave: SKILL_CARD_WAVES[1], icon: "Chest-FA_Chest_014_BlueGold", name: "生命加成+", info: "全体最大生命+20%", field: [7207] },
|
||||
{ uuid: 8758, wave: SKILL_CARD_WAVES[1], icon: "Wand-FA_WP_Main_Wand_003_BlueWood", name: "风怒加成+", info: "全体风怒概率+20%", field: [7208] },
|
||||
{ uuid: 8759, wave: SKILL_CARD_WAVES[1], icon: "Spear-FA_WP_Main_Spear_007_GraySkyblue", name: "穿刺加成+", info: "全体穿刺概率+20%", field: [7209] },
|
||||
{ uuid: 8760, wave: SKILL_CARD_WAVES[1], icon: "Shield-FA_WP_Sub_Shield_008_BlueGold", name: "金币收益+", info: "每回合金币收益+2", field: [7210] },
|
||||
{ uuid: 8761, wave: SKILL_CARD_WAVES[1], icon: "Shield-FA_WP_Sub_Shield_008_BlueGold", name: "购买优惠+", info: "购买卡牌费用-2金币", field: [7212] },
|
||||
{ uuid: 8762, wave: SKILL_CARD_WAVES[1], icon: "Staff-FA_WP_Main_Staff_007_WoodGray", name: "刷新优惠", info: "刷新卡牌费用-1金币", field: [7213] },
|
||||
// ==================== card_lv 2 档(强度 ×2) ====================
|
||||
{ uuid: 8751, card_lv: 2, icon: "Helmet-FA_Helmet_022_DarkBlue", name: "战后恢复", info: "战斗结束生命回复量+20%", field: [7201] },
|
||||
{ uuid: 8752, card_lv: 2, icon: "Sword-FA_WP_Main_Sword_007_Blue", name: "攻击加成", info: "全体攻击力+20%", field: [7202] },
|
||||
{ uuid: 8753, card_lv: 2, icon: "Blunt-FA_WP_Main_Blunt_004_Gray", name: "击晕加成", info: "全体击晕概率+20%", field: [7203] },
|
||||
{ uuid: 8754, card_lv: 2, icon: "Axe-FA_WP_Main_Axe_006_WoodBronze", name: "暴击加成", info: "全体暴击率+20%", field: [7204] },
|
||||
{ uuid: 8755, card_lv: 2, icon: "Bow-FA_WP_Main_Bow_010_Blue", name: "暴伤加成", info: "全体暴击伤害+40%", field: [7205] },
|
||||
{ uuid: 8756, card_lv: 2, icon: "Crossbow-FA_WP_Main_Crossbow_004_Gray", name: "攻速加成", info: "全体攻击速度+20%", field: [7206] },
|
||||
{ uuid: 8757, card_lv: 2, icon: "Chest-FA_Chest_014_BlueGold", name: "生命加成", info: "全体最大生命+20%", field: [7207] },
|
||||
{ uuid: 8758, card_lv: 2, icon: "Wand-FA_WP_Main_Wand_003_BlueWood", name: "风怒加成", info: "全体风怒概率+20%", field: [7208] },
|
||||
{ uuid: 8759, card_lv: 2, icon: "Spear-FA_WP_Main_Spear_007_GraySkyblue", name: "穿刺加成", info: "全体穿刺概率+20%", field: [7209] },
|
||||
{ uuid: 8760, card_lv: 2, icon: "Shield-FA_WP_Sub_Shield_008_BlueGold", name: "金币收益", info: "每回合金币收益+2", field: [7210] },
|
||||
{ uuid: 8761, card_lv: 2, icon: "Shield-FA_WP_Sub_Shield_008_BlueGold", name: "购买优惠", info: "购买卡牌费用-2金币", field: [7212] },
|
||||
{ uuid: 8762, card_lv: 2, icon: "Staff-FA_WP_Main_Staff_007_WoodGray", name: "刷新优惠", info: "刷新卡牌费用-1金币", field: [7213] },
|
||||
// 多词条装备
|
||||
{ uuid: 8770, wave: SKILL_CARD_WAVES[1], icon: "Chest-FA_Chest_014_BlueGold", name: "守卫护甲", info: "全体最大生命+20%, 战后生命回复+20%, 攻速+20%", field: [7207, 7201, 7206] },
|
||||
{ uuid: 8770, card_lv: 2, icon: "Chest-FA_Chest_014_BlueGold", name: "守卫护甲", info: "全体最大生命+20%, 战后生命回复+20%, 攻速+20%", field: [7207, 7201, 7206] },
|
||||
|
||||
// ==================== wave 8 档(强度 ×3) ====================
|
||||
{ uuid: 8801, wave: SKILL_CARD_WAVES[2], icon: "Helmet-FA_Helmet_021_RedGold", name: "战后恢复++", info: "战斗结束生命回复量+30%", field: [7401] },
|
||||
{ uuid: 8802, wave: SKILL_CARD_WAVES[2], icon: "Sword-FA_WP_Main_Sword_001_Gold", name: "攻击加成++", info: "全体攻击力+30%", field: [7402] },
|
||||
{ uuid: 8803, wave: SKILL_CARD_WAVES[2], icon: "Blunt-FA_WP_Main_Blunt_006_OrangeGray", name: "击晕加成++", info: "全体击晕概率+30%", field: [7403] },
|
||||
{ uuid: 8804, wave: SKILL_CARD_WAVES[2], icon: "Axe-FA_WP_Main_Axe_012_WoodGold", name: "暴击加成++", info: "全体暴击率+30%", field: [7404] },
|
||||
{ uuid: 8805, wave: SKILL_CARD_WAVES[2], icon: "Bow-FA_WP_Main_Bow_010_Gold", name: "暴伤加成++", info: "全体暴击伤害+60%", field: [7405] },
|
||||
{ uuid: 8806, wave: SKILL_CARD_WAVES[2], icon: "Crossbow-FA_WP_Main_Crossbow_005_WoodGold", name: "攻速加成++", info: "全体攻击速度+30%", field: [7406] },
|
||||
{ uuid: 8807, wave: SKILL_CARD_WAVES[2], icon: "Chest-FA_Chest_015_RedGold", name: "生命加成++", info: "全体最大生命+30%", field: [7407] },
|
||||
{ uuid: 8808, wave: SKILL_CARD_WAVES[2], icon: "Wand-FA_WP_Main_Wand_004_WoodGold", name: "风怒加成++", info: "全体风怒概率+30%", field: [7408] },
|
||||
{ uuid: 8809, wave: SKILL_CARD_WAVES[2], icon: "Spear-FA_WP_Main_Spear_008_GrayGold", name: "穿刺加成++", info: "全体穿刺概率+30%", field: [7409] },
|
||||
{ uuid: 8810, wave: SKILL_CARD_WAVES[2], icon: "Shield-FA_WP_Sub_Shield_009_RedGold", name: "金币收益++", info: "每回合金币收益+3", field: [7410] },
|
||||
// ==================== card_lv 3 档(强度 ×3) ====================
|
||||
{ uuid: 8801, card_lv: 3, icon: "Helmet-FA_Helmet_021_RedGold", name: "战后恢复", info: "战斗结束生命回复量+30%", field: [7401] },
|
||||
{ uuid: 8802, card_lv: 3, icon: "Sword-FA_WP_Main_Sword_001_Gold", name: "攻击加成", info: "全体攻击力+30%", field: [7402] },
|
||||
{ uuid: 8803, card_lv: 3, icon: "Blunt-FA_WP_Main_Blunt_006_OrangeGray", name: "击晕加成", info: "全体击晕概率+30%", field: [7403] },
|
||||
{ uuid: 8804, card_lv: 3, icon: "Axe-FA_WP_Main_Axe_012_WoodGold", name: "暴击加成", info: "全体暴击率+30%", field: [7404] },
|
||||
{ uuid: 8805, card_lv: 3, icon: "Bow-FA_WP_Main_Bow_010_Gold", name: "暴伤加成", info: "全体暴击伤害+60%", field: [7405] },
|
||||
{ uuid: 8806, card_lv: 3, icon: "Crossbow-FA_WP_Main_Crossbow_005_WoodGold", name: "攻速加成", info: "全体攻击速度+30%", field: [7406] },
|
||||
{ uuid: 8807, card_lv: 3, icon: "Chest-FA_Chest_015_RedGold", name: "生命加成", info: "全体最大生命+30%", field: [7407] },
|
||||
{ uuid: 8808, card_lv: 3, icon: "Wand-FA_WP_Main_Wand_004_WoodGold", name: "风怒加成", info: "全体风怒概率+30%", field: [7408] },
|
||||
{ uuid: 8809, card_lv: 3, icon: "Spear-FA_WP_Main_Spear_008_GrayGold", name: "穿刺加成", info: "全体穿刺概率+30%", field: [7409] },
|
||||
{ uuid: 8810, card_lv: 3, icon: "Shield-FA_WP_Sub_Shield_009_RedGold", name: "金币收益", info: "每回合金币收益+3", field: [7410] },
|
||||
// 触发次数强化
|
||||
{ uuid: 8811, wave: SKILL_CARD_WAVES[2], icon: "Wand-FA_WP_Main_Wand_004_WoodGold", name: "召唤强化++", info: "召唤触发技能次数+1", field: [7014] },
|
||||
{ uuid: 8812, wave: SKILL_CARD_WAVES[2], icon: "Staff-FA_WP_Main_Staff_005_WoodGold", name: "死亡强化++", info: "死亡触发技能次数+1", field: [7015] },
|
||||
{ uuid: 8813, wave: SKILL_CARD_WAVES[2], icon: "Spear-FA_WP_Main_Spear_008_GrayGold", name: "开场强化++", info: "战斗开始触发技能次数+1", field: [7016] },
|
||||
{ uuid: 8814, wave: SKILL_CARD_WAVES[2], icon: "Blunt-FA_WP_Main_Blunt_006_OrangeGray", name: "结束强化++", info: "战斗结束触发技能次数+1", field: [7017] },
|
||||
{ uuid: 8815, wave: SKILL_CARD_WAVES[2], icon: "Sword-FA_WP_Main_Sword_001_Gold", name: "攻击强化++", info: "攻击触发技能次数+1", field: [7018] },
|
||||
{ uuid: 8816, wave: SKILL_CARD_WAVES[2], icon: "Shield-FA_WP_Sub_Shield_009_RedGold", name: "受击强化++", info: "被攻击触发技能次数+1", field: [7019] },
|
||||
{ uuid: 8811, card_lv: 3, icon: "Wand-FA_WP_Main_Wand_004_WoodGold", name: "召唤强化", info: "召唤触发技能次数+1", field: [7014] },
|
||||
{ uuid: 8812, card_lv: 3, icon: "Staff-FA_WP_Main_Staff_005_WoodGold", name: "死亡强化", info: "死亡触发技能次数+1", field: [7015] },
|
||||
{ uuid: 8813, card_lv: 3, icon: "Spear-FA_WP_Main_Spear_008_GrayGold", name: "开场强化", info: "战斗开始触发技能次数+1", field: [7016] },
|
||||
{ uuid: 8814, card_lv: 3, icon: "Blunt-FA_WP_Main_Blunt_006_OrangeGray", name: "结束强化", info: "战斗结束触发技能次数+1", field: [7017] },
|
||||
{ uuid: 8815, card_lv: 3, icon: "Sword-FA_WP_Main_Sword_001_Gold", name: "攻击强化", info: "攻击触发技能次数+1", field: [7018] },
|
||||
{ uuid: 8816, card_lv: 3, icon: "Shield-FA_WP_Sub_Shield_009_RedGold", name: "受击强化", info: "被攻击触发技能次数+1", field: [7019] },
|
||||
// 多词条装备
|
||||
{ uuid: 8820, wave: SKILL_CARD_WAVES[2], icon: "Sword-FA_WP_Main_Sword_001_Gold", name: "神圣之刃", info: "全体攻击力+30%, 暴击率+30%, 暴击伤害+60%, 攻速+30%", field: [7402, 7404, 7405, 7406] },
|
||||
{ uuid: 8820, card_lv: 3, icon: "Sword-FA_WP_Main_Sword_001_Gold", name: "神圣之刃", info: "全体攻击力+30%, 暴击率+30%, 暴击伤害+60%, 攻速+30%", field: [7402, 7404, 7405, 7406] },
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -103,9 +97,8 @@ export const EquipPoolList: CardConfig[] = EquipRawList.map(data => ({
|
||||
type: CardType.Skill,
|
||||
cost: data.cost ?? 0,
|
||||
weight: 10,
|
||||
wave: data.wave,
|
||||
kind: CKind.Skill,
|
||||
card_lv: waveToCardLv[data.wave] ?? 1,
|
||||
card_lv: data.card_lv,
|
||||
icon: data.icon,
|
||||
name: data.name,
|
||||
info: data.info,
|
||||
|
||||
@@ -146,10 +146,10 @@ export class EquipListComp extends CCComp {
|
||||
this.name_label.string = cardConfig?.name || "";
|
||||
}
|
||||
|
||||
// 等级标签(★ 表示卡牌等级)
|
||||
// 等级标签(Lv.1 / Lv.2 / Lv.3)
|
||||
if (this.level_label) {
|
||||
const lv = this.cardData.card_lv ?? 1;
|
||||
this.level_label.string = lv >= 2 ? "★".repeat(lv - 1) : "";
|
||||
this.level_label.string = `Lv.${lv}`;
|
||||
}
|
||||
|
||||
// 背景:按 card_lv 激活对应颜色子节点(1→green 2→blue 3→purple 4→red 5→yellow)
|
||||
|
||||
Reference in New Issue
Block a user