feat: 新增卡牌自定义图标功能,优化图标加载逻辑
1. 为所有卡牌配置添加icon字段,支持自定义指定图集内的图标 2. 重构列表组件与卡片组件的图标获取逻辑,优先使用自定义图标 3. 更新预加载的图集资源从ui3改为ui6,适配新图标图集 4. 调整弹窗预制体尺寸与图集引用,适配新的图标资源系统
This commit is contained in:
@@ -283,13 +283,13 @@ export class SingletonModuleComp extends ecs.Comp {
|
||||
* 在游戏载入早期调用,预加载常用图集
|
||||
*/
|
||||
preloadCommonAssets() {
|
||||
resources.load("gui/ui3", SpriteAtlas, (err, atlas) => {
|
||||
resources.load("gui/ui6", SpriteAtlas, (err, atlas) => {
|
||||
if (!err && atlas) {
|
||||
// 增加引用计数,防止图集被引擎自动垃圾回收(GC)导致底层 spriteFrames 为 null
|
||||
atlas.addRef();
|
||||
this.uiconsAtlas = atlas;
|
||||
} else {
|
||||
mLogger.error(this.debugMode, 'SMC', "预加载 gui/ui3 图集失败:", err);
|
||||
mLogger.error(this.debugMode, 'SMC', "预加载 gui/ui6 图集失败:", err);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ interface EquipRawData {
|
||||
wave: number;
|
||||
name: string;
|
||||
info: string;
|
||||
icon?: string; // 图标ID(对应 ui6 图集 frame 名)
|
||||
field: number[];
|
||||
cost?: number;
|
||||
}
|
||||
@@ -35,56 +36,56 @@ interface EquipRawData {
|
||||
/** 装备卡原始数据表 */
|
||||
const EquipRawList: EquipRawData[] = [
|
||||
// ==================== wave 1 档(基础强度) ====================
|
||||
{ uuid: 8701, wave: SKILL_CARD_WAVES[0], name: "战后恢复", info: "战斗结束生命回复量+10%", field: [7001] },
|
||||
{ uuid: 8702, wave: SKILL_CARD_WAVES[0], name: "攻击加成", info: "英雄攻击力+10%", field: [7002] },
|
||||
{ uuid: 8703, wave: SKILL_CARD_WAVES[0], name: "击晕加成", info: "英雄击晕概率+10%", field: [7003] },
|
||||
{ uuid: 8704, wave: SKILL_CARD_WAVES[0], name: "暴击加成", info: "英雄暴击率+10%", field: [7004] },
|
||||
{ uuid: 8705, wave: SKILL_CARD_WAVES[0], name: "暴伤加成", info: "英雄暴击伤害+20%", field: [7005] },
|
||||
{ uuid: 8706, wave: SKILL_CARD_WAVES[0], name: "攻速加成", info: "英雄攻击速度+10%", field: [7006] },
|
||||
{ uuid: 8707, wave: SKILL_CARD_WAVES[0], name: "生命加成", info: "英雄最大生命+10%", field: [7007] },
|
||||
{ uuid: 8708, wave: SKILL_CARD_WAVES[0], name: "风怒加成", info: "英雄风怒概率+10%", field: [7008] },
|
||||
{ uuid: 8709, wave: SKILL_CARD_WAVES[0], name: "穿刺加成", info: "英雄穿刺概率+10%", field: [7009] },
|
||||
{ uuid: 8710, wave: SKILL_CARD_WAVES[0], name: "金币收益", info: "每回合金币收益+1", field: [7010] },
|
||||
{ uuid: 8711, wave: SKILL_CARD_WAVES[0], name: "出售强化", info: "卖出英雄金币+1", field: [7011] },
|
||||
{ uuid: 8701, wave: SKILL_CARD_WAVES[0], icon: "Stat_PotionBoost", name: "战后恢复", info: "战斗结束生命回复量+10%", field: [7001] },
|
||||
{ uuid: 8702, wave: SKILL_CARD_WAVES[0], icon: "Stat_Attack_03", name: "攻击加成", info: "英雄攻击力+10%", field: [7002] },
|
||||
{ uuid: 8703, wave: SKILL_CARD_WAVES[0], icon: "Stat_Stun_01", name: "击晕加成", info: "英雄击晕概率+10%", field: [7003] },
|
||||
{ uuid: 8704, wave: SKILL_CARD_WAVES[0], icon: "Stat_CriticalChance_02", name: "暴击加成", info: "英雄暴击率+10%", field: [7004] },
|
||||
{ uuid: 8705, wave: SKILL_CARD_WAVES[0], icon: "Stat_Critical_01", name: "暴伤加成", info: "英雄暴击伤害+20%", field: [7005] },
|
||||
{ uuid: 8706, wave: SKILL_CARD_WAVES[0], icon: "Stat_AttackSpeed_02", name: "攻速加成", info: "英雄攻击速度+10%", field: [7006] },
|
||||
{ uuid: 8707, wave: SKILL_CARD_WAVES[0], icon: "Stat_Hp_02", name: "生命加成", info: "英雄最大生命+10%", field: [7007] },
|
||||
{ uuid: 8708, wave: SKILL_CARD_WAVES[0], icon: "Stat_CriticalComboChance", name: "风怒加成", info: "英雄风怒概率+10%", field: [7008] },
|
||||
{ uuid: 8709, wave: SKILL_CARD_WAVES[0], icon: "Stat_Tripleshot", name: "穿刺加成", info: "英雄穿刺概率+10%", field: [7009] },
|
||||
{ uuid: 8710, wave: SKILL_CARD_WAVES[0], icon: "Stat_InventorySlotIncrease", name: "金币收益", info: "每回合金币收益+1", field: [7010] },
|
||||
{ uuid: 8711, wave: SKILL_CARD_WAVES[0], icon: "Stat_GoldGainIncrease_01", name: "出售强化", info: "卖出英雄金币+1", field: [7011] },
|
||||
// 多词条装备
|
||||
{ uuid: 8720, wave: SKILL_CARD_WAVES[0], name: "勇者护符", info: "英雄攻击力+10%, 暴击率+10%, 暴击伤害+20%", field: [7002, 7004, 7005] },
|
||||
{ uuid: 8720, wave: SKILL_CARD_WAVES[0], icon: "Stat_Attack_03", name: "勇者护符", info: "英雄攻击力+10%, 暴击率+10%, 暴击伤害+20%", field: [7002, 7004, 7005] },
|
||||
|
||||
// ==================== wave 5 档(强度 ×2) ====================
|
||||
{ uuid: 8751, wave: SKILL_CARD_WAVES[1], name: "战后恢复+", info: "战斗结束生命回复量+20%", field: [7201] },
|
||||
{ uuid: 8752, wave: SKILL_CARD_WAVES[1], name: "攻击加成+", info: "英雄攻击力+20%", field: [7202] },
|
||||
{ uuid: 8753, wave: SKILL_CARD_WAVES[1], name: "击晕加成+", info: "英雄击晕概率+20%", field: [7203] },
|
||||
{ uuid: 8754, wave: SKILL_CARD_WAVES[1], name: "暴击加成+", info: "英雄暴击率+20%", field: [7204] },
|
||||
{ uuid: 8755, wave: SKILL_CARD_WAVES[1], name: "暴伤加成+", info: "英雄暴击伤害+40%", field: [7205] },
|
||||
{ uuid: 8756, wave: SKILL_CARD_WAVES[1], name: "攻速加成+", info: "英雄攻击速度+20%", field: [7206] },
|
||||
{ uuid: 8757, wave: SKILL_CARD_WAVES[1], name: "生命加成+", info: "英雄最大生命+20%", field: [7207] },
|
||||
{ uuid: 8758, wave: SKILL_CARD_WAVES[1], name: "风怒加成+", info: "英雄风怒概率+20%", field: [7208] },
|
||||
{ uuid: 8759, wave: SKILL_CARD_WAVES[1], name: "穿刺加成+", info: "英雄穿刺概率+20%", field: [7209] },
|
||||
{ uuid: 8760, wave: SKILL_CARD_WAVES[1], name: "金币收益+", info: "每回合金币收益+2", field: [7210] },
|
||||
{ uuid: 8761, wave: SKILL_CARD_WAVES[1], name: "购买优惠+", info: "购买卡牌费用-2金币", field: [7212] },
|
||||
{ uuid: 8762, wave: SKILL_CARD_WAVES[1], name: "刷新优惠", info: "刷新卡牌费用-1金币", field: [7213] },
|
||||
{ uuid: 8751, wave: SKILL_CARD_WAVES[1], icon: "Stat_PotionBoost", name: "战后恢复+", info: "战斗结束生命回复量+20%", field: [7201] },
|
||||
{ uuid: 8752, wave: SKILL_CARD_WAVES[1], icon: "Stat_Attack_03", name: "攻击加成+", info: "英雄攻击力+20%", field: [7202] },
|
||||
{ uuid: 8753, wave: SKILL_CARD_WAVES[1], icon: "Stat_Stun_01", name: "击晕加成+", info: "英雄击晕概率+20%", field: [7203] },
|
||||
{ uuid: 8754, wave: SKILL_CARD_WAVES[1], icon: "Stat_CriticalChance_02", name: "暴击加成+", info: "英雄暴击率+20%", field: [7204] },
|
||||
{ uuid: 8755, wave: SKILL_CARD_WAVES[1], icon: "Stat_Critical_01", name: "暴伤加成+", info: "英雄暴击伤害+40%", field: [7205] },
|
||||
{ uuid: 8756, wave: SKILL_CARD_WAVES[1], icon: "Stat_AttackSpeed_02", name: "攻速加成+", info: "英雄攻击速度+20%", field: [7206] },
|
||||
{ uuid: 8757, wave: SKILL_CARD_WAVES[1], icon: "Stat_Hp_02", name: "生命加成+", info: "英雄最大生命+20%", field: [7207] },
|
||||
{ uuid: 8758, wave: SKILL_CARD_WAVES[1], icon: "Stat_CriticalComboChance", name: "风怒加成+", info: "英雄风怒概率+20%", field: [7208] },
|
||||
{ uuid: 8759, wave: SKILL_CARD_WAVES[1], icon: "Stat_Tripleshot", name: "穿刺加成+", info: "英雄穿刺概率+20%", field: [7209] },
|
||||
{ uuid: 8760, wave: SKILL_CARD_WAVES[1], icon: "Stat_InventorySlotIncrease", name: "金币收益+", info: "每回合金币收益+2", field: [7210] },
|
||||
{ uuid: 8761, wave: SKILL_CARD_WAVES[1], icon: "Stat_KeyCapacityIncrease", name: "购买优惠+", info: "购买卡牌费用-2金币", field: [7212] },
|
||||
{ uuid: 8762, wave: SKILL_CARD_WAVES[1], icon: "Stat_RandomBonus", name: "刷新优惠", info: "刷新卡牌费用-1金币", field: [7213] },
|
||||
// 多词条装备
|
||||
{ uuid: 8770, wave: SKILL_CARD_WAVES[1], name: "守卫护甲", info: "英雄最大生命+20%, 战后生命回复+20%, 攻速+20%", field: [7207, 7201, 7206] },
|
||||
{ uuid: 8770, wave: SKILL_CARD_WAVES[1], icon: "Stat_Hp_02", name: "守卫护甲", info: "英雄最大生命+20%, 战后生命回复+20%, 攻速+20%", field: [7207, 7201, 7206] },
|
||||
|
||||
// ==================== wave 8 档(强度 ×3) ====================
|
||||
{ uuid: 8801, wave: SKILL_CARD_WAVES[2], name: "战后恢复++", info: "战斗结束生命回复量+30%", field: [7401] },
|
||||
{ uuid: 8802, wave: SKILL_CARD_WAVES[2], name: "攻击加成++", info: "英雄攻击力+30%", field: [7402] },
|
||||
{ uuid: 8803, wave: SKILL_CARD_WAVES[2], name: "击晕加成++", info: "英雄击晕概率+30%", field: [7403] },
|
||||
{ uuid: 8804, wave: SKILL_CARD_WAVES[2], name: "暴击加成++", info: "英雄暴击率+30%", field: [7404] },
|
||||
{ uuid: 8805, wave: SKILL_CARD_WAVES[2], name: "暴伤加成++", info: "英雄暴击伤害+60%", field: [7405] },
|
||||
{ uuid: 8806, wave: SKILL_CARD_WAVES[2], name: "攻速加成++", info: "英雄攻击速度+30%", field: [7406] },
|
||||
{ uuid: 8807, wave: SKILL_CARD_WAVES[2], name: "生命加成++", info: "英雄最大生命+30%", field: [7407] },
|
||||
{ uuid: 8808, wave: SKILL_CARD_WAVES[2], name: "风怒加成++", info: "英雄风怒概率+30%", field: [7408] },
|
||||
{ uuid: 8809, wave: SKILL_CARD_WAVES[2], name: "穿刺加成++", info: "英雄穿刺概率+30%", field: [7409] },
|
||||
{ uuid: 8810, wave: SKILL_CARD_WAVES[2], name: "金币收益++", info: "每回合金币收益+3", field: [7410] },
|
||||
{ uuid: 8801, wave: SKILL_CARD_WAVES[2], icon: "Stat_PotionBoost", name: "战后恢复++", info: "战斗结束生命回复量+30%", field: [7401] },
|
||||
{ uuid: 8802, wave: SKILL_CARD_WAVES[2], icon: "Stat_Attack_03", name: "攻击加成++", info: "英雄攻击力+30%", field: [7402] },
|
||||
{ uuid: 8803, wave: SKILL_CARD_WAVES[2], icon: "Stat_Stun_01", name: "击晕加成++", info: "英雄击晕概率+30%", field: [7403] },
|
||||
{ uuid: 8804, wave: SKILL_CARD_WAVES[2], icon: "Stat_CriticalChance_02", name: "暴击加成++", info: "英雄暴击率+30%", field: [7404] },
|
||||
{ uuid: 8805, wave: SKILL_CARD_WAVES[2], icon: "Stat_Critical_01", name: "暴伤加成++", info: "英雄暴击伤害+60%", field: [7405] },
|
||||
{ uuid: 8806, wave: SKILL_CARD_WAVES[2], icon: "Stat_AttackSpeed_02", name: "攻速加成++", info: "英雄攻击速度+30%", field: [7406] },
|
||||
{ uuid: 8807, wave: SKILL_CARD_WAVES[2], icon: "Stat_Hp_02", name: "生命加成++", info: "英雄最大生命+30%", field: [7407] },
|
||||
{ uuid: 8808, wave: SKILL_CARD_WAVES[2], icon: "Stat_CriticalComboChance", name: "风怒加成++", info: "英雄风怒概率+30%", field: [7408] },
|
||||
{ uuid: 8809, wave: SKILL_CARD_WAVES[2], icon: "Stat_Tripleshot", name: "穿刺加成++", info: "英雄穿刺概率+30%", field: [7409] },
|
||||
{ uuid: 8810, wave: SKILL_CARD_WAVES[2], icon: "Stat_InventorySlotIncrease", name: "金币收益++", info: "每回合金币收益+3", field: [7410] },
|
||||
// 触发次数强化
|
||||
{ uuid: 8811, wave: SKILL_CARD_WAVES[2], name: "召唤强化++", info: "召唤触发技能次数+1", field: [7014] },
|
||||
{ uuid: 8812, wave: SKILL_CARD_WAVES[2], name: "死亡强化++", info: "死亡触发技能次数+1", field: [7015] },
|
||||
{ uuid: 8813, wave: SKILL_CARD_WAVES[2], name: "开场强化++", info: "战斗开始触发技能次数+1", field: [7016] },
|
||||
{ uuid: 8814, wave: SKILL_CARD_WAVES[2], name: "结束强化++", info: "战斗结束触发技能次数+1", field: [7017] },
|
||||
{ uuid: 8815, wave: SKILL_CARD_WAVES[2], name: "攻击强化++", info: "攻击触发技能次数+1", field: [7018] },
|
||||
{ uuid: 8816, wave: SKILL_CARD_WAVES[2], name: "受击强化++", info: "被攻击触发技能次数+1", field: [7019] },
|
||||
{ uuid: 8811, wave: SKILL_CARD_WAVES[2], icon: "Stat_UnitSummonIncrease_02", name: "召唤强化++", info: "召唤触发技能次数+1", field: [7014] },
|
||||
{ uuid: 8812, wave: SKILL_CARD_WAVES[2], icon: "Stat_PoisonChanceIncrease", name: "死亡强化++", info: "死亡触发技能次数+1", field: [7015] },
|
||||
{ uuid: 8813, wave: SKILL_CARD_WAVES[2], icon: "Stat_AttackRangeIncrease_01", name: "开场强化++", info: "战斗开始触发技能次数+1", field: [7016] },
|
||||
{ uuid: 8814, wave: SKILL_CARD_WAVES[2], icon: "Stat_UnitSummonIncrease_01", name: "结束强化++", info: "战斗结束触发技能次数+1", field: [7017] },
|
||||
{ uuid: 8815, wave: SKILL_CARD_WAVES[2], icon: "Stat_Attack_03", name: "攻击强化++", info: "攻击触发技能次数+1", field: [7018] },
|
||||
{ uuid: 8816, wave: SKILL_CARD_WAVES[2], icon: "Stat_Armor_01", name: "受击强化++", info: "被攻击触发技能次数+1", field: [7019] },
|
||||
// 多词条装备
|
||||
{ uuid: 8820, wave: SKILL_CARD_WAVES[2], name: "神圣之刃", info: "英雄攻击力+30%, 暴击率+30%, 暴击伤害+60%, 攻速+30%", field: [7402, 7404, 7405, 7406] },
|
||||
{ uuid: 8820, wave: SKILL_CARD_WAVES[2], icon: "Stat_Attack_03", name: "神圣之刃", info: "英雄攻击力+30%, 暴击率+30%, 暴击伤害+60%, 攻速+30%", field: [7402, 7404, 7405, 7406] },
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -106,6 +107,7 @@ export const EquipPoolList: CardConfig[] = EquipRawList.map(data => ({
|
||||
wave: data.wave,
|
||||
kind: CKind.Skill,
|
||||
card_lv: waveToCardLv[data.wave] ?? 1,
|
||||
icon: data.icon,
|
||||
name: data.name,
|
||||
info: data.info,
|
||||
is_inst: false,
|
||||
|
||||
@@ -25,6 +25,7 @@ interface ItemCardRaw {
|
||||
skill: number; // 关联的技能 UUID(buff 技能)
|
||||
name: string;
|
||||
info: string;
|
||||
icon?: string; // 图标ID(对应 ui6 图集 frame 名)
|
||||
cost: number; // 购买价格
|
||||
weight: number; // 抽取权重
|
||||
overrides?: SkillOverrides; // 技能参数覆写(如自定义治疗量、护盾值等)
|
||||
@@ -32,24 +33,24 @@ interface ItemCardRaw {
|
||||
|
||||
const ItemCardData: ItemCardRaw[] = [
|
||||
// ==================== 一次性回血(计时性 HoT,5s) ====================
|
||||
{ uuid: 9101, skill: 6502, name: "再生药水", info: "全体友方每秒回复生命,持续 5 秒", cost: 0, weight: 20 },
|
||||
{ uuid: 9101, skill: 6502, icon: "Stat_PotionBoost", name: "再生药水", info: "全体友方每秒回复生命,持续 5 秒", cost: 0, weight: 20 },
|
||||
|
||||
// ==================== 计时性强化(统一 5s) ====================
|
||||
{ uuid: 9102, skill: 6503, name: "攻击药水", info: "全体友方攻击力提升 50%,持续 5 秒", cost: 0, weight: 15 },
|
||||
{ uuid: 9103, skill: 6504, name: "暴击药水", info: "全体友方暴击率提升 30%,持续 5 秒", cost: 0, weight: 15 },
|
||||
{ uuid: 9104, skill: 6505, name: "击退药水", info: "全体友方击退概率提升 30%,持续 5 秒", cost: 0, weight: 12 },
|
||||
{ uuid: 9105, skill: 6506, name: "穿透药水", info: "全体友方穿透概率提升 30%,持续 5 秒", cost: 0, weight: 12 },
|
||||
{ uuid: 9106, skill: 6507, name: "攻速药水", info: "全体友方攻击速度提升 40%,持续 5 秒", cost: 0, weight: 15 },
|
||||
{ uuid: 9107, skill: 6508, name: "风怒药水", info: "全体友方风怒概率提升 20%,持续 5 秒", cost: 0, weight: 12 },
|
||||
{ uuid: 9108, skill: 6509, name: "击晕药水", info: "全体友方击晕概率提升 30%,持续 5 秒", cost: 0, weight: 12 },
|
||||
{ uuid: 9109, skill: 6510, name: "击晕抗性药水", info: "全体友方击晕抗性提升 50%,持续 5 秒", cost: 4, weight: 10 },
|
||||
{ uuid: 9110, skill: 6511, name: "冰冻抗性药水", info: "全体友方冰冻抗性提升 50%,持续 5 秒", cost: 4, weight: 10 },
|
||||
{ uuid: 9102, skill: 6503, icon: "Stat_Attack_03", name: "攻击药水", info: "全体友方攻击力提升 50%,持续 5 秒", cost: 0, weight: 15 },
|
||||
{ uuid: 9103, skill: 6504, icon: "Stat_CriticalChance_02", name: "暴击药水", info: "全体友方暴击率提升 30%,持续 5 秒", cost: 0, weight: 15 },
|
||||
{ uuid: 9104, skill: 6505, icon: "Stat_Stun_01", name: "击退药水", info: "全体友方击退概率提升 30%,持续 5 秒", cost: 0, weight: 12 },
|
||||
{ uuid: 9105, skill: 6506, icon: "Stat_Tripleshot", name: "穿透药水", info: "全体友方穿透概率提升 30%,持续 5 秒", cost: 0, weight: 12 },
|
||||
{ uuid: 9106, skill: 6507, icon: "Stat_AttackSpeed_02", name: "攻速药水", info: "全体友方攻击速度提升 40%,持续 5 秒", cost: 0, weight: 15 },
|
||||
{ uuid: 9107, skill: 6508, icon: "Stat_CriticalComboChance", name: "风怒药水", info: "全体友方风怒概率提升 20%,持续 5 秒", cost: 0, weight: 12 },
|
||||
{ uuid: 9108, skill: 6509, icon: "Stat_Stun_01", name: "击晕药水", info: "全体友方击晕概率提升 30%,持续 5 秒", cost: 0, weight: 12 },
|
||||
{ uuid: 9109, skill: 6510, icon: "Stat_Armor_01", name: "击晕抗性药水", info: "全体友方击晕抗性提升 50%,持续 5 秒", cost: 4, weight: 10 },
|
||||
{ uuid: 9110, skill: 6511, icon: "Stat_Freeze", name: "冰冻抗性药水", info: "全体友方冰冻抗性提升 50%,持续 5 秒", cost: 4, weight: 10 },
|
||||
|
||||
// ==================== 高级档(buff_value 覆写,复用同一技能底座) ====================
|
||||
{ uuid: 9201, skill: 6502, name: "高级再生药水", info: "全体友方每秒回复 25 生命,持续 5 秒", cost: 0, weight: 8, overrides: { buff_value: 25 } },
|
||||
{ uuid: 9202, skill: 6503, name: "高级攻击药水", info: "全体友方攻击力提升 80%,持续 5 秒", cost: 0, weight: 8, overrides: { buff_value: 80 } },
|
||||
{ uuid: 9203, skill: 6504, name: "高级暴击药水", info: "全体友方暴击率提升 50%,持续 5 秒", cost: 0, weight: 8, overrides: { buff_value: 50 } },
|
||||
{ uuid: 9206, skill: 6507, name: "高级攻速药水", info: "全体友方攻击速度提升 70%,持续 5 秒", cost: 0, weight: 8, overrides: { buff_value: 70 } },
|
||||
{ uuid: 9201, skill: 6502, icon: "Stat_PotionBoost", name: "高级再生药水", info: "全体友方每秒回复 25 生命,持续 5 秒", cost: 0, weight: 8, overrides: { buff_value: 25 } },
|
||||
{ uuid: 9202, skill: 6503, icon: "Stat_Attack_03", name: "高级攻击药水", info: "全体友方攻击力提升 80%,持续 5 秒", cost: 0, weight: 8, overrides: { buff_value: 80 } },
|
||||
{ uuid: 9203, skill: 6504, icon: "Stat_CriticalChance_02", name: "高级暴击药水", info: "全体友方暴击率提升 50%,持续 5 秒", cost: 0, weight: 8, overrides: { buff_value: 50 } },
|
||||
{ uuid: 9206, skill: 6507, icon: "Stat_AttackSpeed_02", name: "高级攻速药水", info: "全体友方攻击速度提升 70%,持续 5 秒", cost: 0, weight: 8, overrides: { buff_value: 70 } },
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -70,6 +71,7 @@ export const ItemCardList: CardConfig[] = ItemCardData.map(data => ({
|
||||
pool_lv: CardLV.LV1,
|
||||
kind: CKind.Potion,
|
||||
card_lv: 1,
|
||||
icon: data.icon,
|
||||
name: data.name,
|
||||
info: data.info,
|
||||
is_inst: true,
|
||||
|
||||
@@ -24,6 +24,7 @@ interface SkillCardRaw {
|
||||
card_lv: number;
|
||||
name: string;
|
||||
info: string;
|
||||
icon?: string; // 图标ID(对应 ui6 图集 frame 名)
|
||||
is_inst: boolean;
|
||||
t_times?: number; // 触发次数(未设置时按 is_inst 取默认值:即时=1,定时=3)
|
||||
t_inv?: number;
|
||||
@@ -35,20 +36,20 @@ interface SkillCardRaw {
|
||||
const SkillCardData: SkillCardRaw[] = [
|
||||
// ==================== card_lv 2 档(强度 ×2) ====================
|
||||
// --- 范围攻击卡(ap 递增,间隔缩短) ---
|
||||
{ uuid: 8261, skill: 6201, card_lv: 2, name: "雷墙+", info: "召唤雷墙阻挡敌人,有概率击晕", is_inst: false, t_times: 3, t_inv: 5, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
|
||||
{ uuid: 8262, skill: 6202, card_lv: 2, name: "火墙+", info: "召唤火墙阻挡敌人,有概率击晕", is_inst: false, t_times: 3, t_inv: 5, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
|
||||
{ uuid: 8263, skill: 6203, card_lv: 2, name: "飓风+", info: "召唤飓风攻击敌人,有概率击晕", is_inst: false, t_times: 3, t_inv: 5, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
|
||||
{ uuid: 8264, skill: 6204, card_lv: 2, name: "水墙+", info: "召唤水墙阻挡敌人,有概率击晕", is_inst: false, t_times: 3, t_inv: 5, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
|
||||
{ uuid: 8265, skill: 6205, card_lv: 2, name: "风墙+", info: "召唤风墙困住敌人,有概率击晕", is_inst: false, t_times: 3, t_inv: 5, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
|
||||
{ uuid: 8266, skill: 6206, card_lv: 2, name: "陨石术+", info: "召唤陨石范围攻击敌人,有概率击晕", is_inst: false, t_times: 3, t_inv: 5, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
|
||||
{ uuid: 8261, skill: 6201, card_lv: 2, icon: "Stat_LightningDamag", name: "雷墙+", info: "召唤雷墙阻挡敌人,有概率击晕", is_inst: false, t_times: 3, t_inv: 5, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
|
||||
{ uuid: 8262, skill: 6202, card_lv: 2, icon: "Stat_FireDamage", name: "火墙+", info: "召唤火墙阻挡敌人,有概率击晕", is_inst: false, t_times: 3, t_inv: 5, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
|
||||
{ uuid: 8263, skill: 6203, card_lv: 2, icon: "Stat_Stun_01", name: "飓风+", info: "召唤飓风攻击敌人,有概率击晕", is_inst: false, t_times: 3, t_inv: 5, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
|
||||
{ uuid: 8264, skill: 6204, card_lv: 2, icon: "Stat_Mana", name: "水墙+", info: "召唤水墙阻挡敌人,有概率击晕", is_inst: false, t_times: 3, t_inv: 5, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
|
||||
{ uuid: 8265, skill: 6205, card_lv: 2, icon: "Stat_Stun_01", name: "风墙+", info: "召唤风墙困住敌人,有概率击晕", is_inst: false, t_times: 3, t_inv: 5, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
|
||||
{ uuid: 8266, skill: 6206, card_lv: 2, icon: "Stat_Tripleshot", name: "陨石术+", info: "召唤陨石范围攻击敌人,有概率击晕", is_inst: false, t_times: 3, t_inv: 5, trigger_type: CardTriggerType.Interval, overrides: { ap: 150 } },
|
||||
|
||||
// ==================== card_lv 3 档(强度 ×3) ====================
|
||||
{ uuid: 8361, skill: 6201, card_lv: 3, name: "雷墙++", info: "召唤雷墙阻挡敌人,有概率击晕", is_inst: false, t_times: 4, t_inv: 4, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
|
||||
{ uuid: 8362, skill: 6202, card_lv: 3, name: "火墙++", info: "召唤火墙阻挡敌人,有概率击晕", is_inst: false, t_times: 4, t_inv: 4, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
|
||||
{ uuid: 8363, skill: 6203, card_lv: 3, name: "飓风++", info: "召唤飓风攻击敌人,有概率击晕", is_inst: false, t_times: 4, t_inv: 4, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
|
||||
{ uuid: 8364, skill: 6204, card_lv: 3, name: "水墙++", info: "召唤水墙阻挡敌人,有概率击晕", is_inst: false, t_times: 4, t_inv: 4, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
|
||||
{ uuid: 8365, skill: 6205, card_lv: 3, name: "风墙++", info: "召唤风墙困住敌人,有概率击晕", is_inst: false, t_times: 4, t_inv: 4, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
|
||||
{ uuid: 8366, skill: 6206, card_lv: 3, name: "陨石术++", info: "召唤陨石范围攻击敌人,有概率击晕", is_inst: false, t_times: 4, t_inv: 4, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
|
||||
{ uuid: 8361, skill: 6201, card_lv: 3, icon: "Stat_LightningDamag", name: "雷墙++", info: "召唤雷墙阻挡敌人,有概率击晕", is_inst: false, t_times: 4, t_inv: 4, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
|
||||
{ uuid: 8362, skill: 6202, card_lv: 3, icon: "Stat_FireDamage", name: "火墙++", info: "召唤火墙阻挡敌人,有概率击晕", is_inst: false, t_times: 4, t_inv: 4, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
|
||||
{ uuid: 8363, skill: 6203, card_lv: 3, icon: "Stat_Stun_01", name: "飓风++", info: "召唤飓风攻击敌人,有概率击晕", is_inst: false, t_times: 4, t_inv: 4, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
|
||||
{ uuid: 8364, skill: 6204, card_lv: 3, icon: "Stat_Mana", name: "水墙++", info: "召唤水墙阻挡敌人,有概率击晕", is_inst: false, t_times: 4, t_inv: 4, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
|
||||
{ uuid: 8365, skill: 6205, card_lv: 3, icon: "Stat_Stun_01", name: "风墙++", info: "召唤风墙困住敌人,有概率击晕", is_inst: false, t_times: 4, t_inv: 4, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
|
||||
{ uuid: 8366, skill: 6206, card_lv: 3, icon: "Stat_Tripleshot", name: "陨石术++", info: "召唤陨石范围攻击敌人,有概率击晕", is_inst: false, t_times: 4, t_inv: 4, trigger_type: CardTriggerType.Interval, overrides: { ap: 250 } },
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -67,6 +68,7 @@ export const SkillCardList: CardConfig[] = SkillCardData.map(data => {
|
||||
pool_lv: CardLV.LV1,
|
||||
kind: CKind.Skill,
|
||||
card_lv: data.card_lv,
|
||||
icon: data.icon,
|
||||
name: data.name,
|
||||
info: data.info,
|
||||
is_inst: data.is_inst,
|
||||
|
||||
@@ -181,9 +181,9 @@ export class EquipListComp extends CCComp {
|
||||
}
|
||||
}
|
||||
|
||||
// 图标(取第一个 field 词条的图标)
|
||||
// 图标(优先用卡牌自定义 icon,否则取第一个 field 词条图标)
|
||||
if (this.icon_node && fields.length > 0) {
|
||||
const iconId = FieldSkillSet[fields[0]]?.icon || "";
|
||||
const iconId = this.cardData.icon || FieldSkillSet[fields[0]]?.icon || "";
|
||||
this.updateIcon(this.icon_node, iconId);
|
||||
}
|
||||
|
||||
|
||||
@@ -218,10 +218,12 @@ export class ItemListComp extends CCComp {
|
||||
}
|
||||
}
|
||||
|
||||
// 图标:装备取第一个 field 词条图标,商品取技能图标
|
||||
// 图标:优先用卡牌自定义 icon,装备取第一个 field 词条图标,商品取技能图标
|
||||
if (this.icon_node) {
|
||||
let iconId = "";
|
||||
if (isEquip) {
|
||||
if (this.cardData.icon) {
|
||||
iconId = this.cardData.icon;
|
||||
} else if (isEquip) {
|
||||
const fields = this.cardData.field || [];
|
||||
if (fields.length > 0) {
|
||||
iconId = FieldSkillSet[fields[0]]?.icon || "";
|
||||
|
||||
@@ -346,9 +346,10 @@ export class SCardComp extends CCComp {
|
||||
return skillCard?.info || skill?.info || this.cardData.info || "";
|
||||
}
|
||||
|
||||
/** 获取技能图标 id:驻场技能取 FieldSkillSet.icon,其余取 SkillSet.icon */
|
||||
/** 获取技能图标 id:优先用卡牌自定义 icon,驻场技能取 FieldSkillSet.icon,其余取 SkillSet.icon */
|
||||
private getIconId(skill: SkillConfig | null): string {
|
||||
if (!this.cardData) return "";
|
||||
if (this.cardData.icon) return this.cardData.icon;
|
||||
if (!this.cardData.skill && this.cardData.field && this.cardData.field.length > 0) {
|
||||
const fieldUuid = this.cardData.field[0];
|
||||
return FieldSkillSet[fieldUuid]?.icon || `${fieldUuid}`;
|
||||
|
||||
Reference in New Issue
Block a user