feat: 新增卡牌自定义图标功能,优化图标加载逻辑
1. 为所有卡牌配置添加icon字段,支持自定义指定图集内的图标 2. 重构列表组件与卡片组件的图标获取逻辑,优先使用自定义图标 3. 更新预加载的图集资源从ui3改为ui6,适配新图标图集 4. 调整弹窗预制体尺寸与图集引用,适配新的图标资源系统
This commit is contained in:
@@ -136,8 +136,8 @@
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 710,
|
||||
"height": 55
|
||||
"width": 720,
|
||||
"height": 1280
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
@@ -311,8 +311,8 @@
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 1420,
|
||||
"height": 110
|
||||
"width": 1440,
|
||||
"height": 2560
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
@@ -348,7 +348,7 @@
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "dd7e2f04-f9b9-489b-8d38-b4971ad81910@7e6bd",
|
||||
"__uuid__": "dd7e2f04-f9b9-489b-8d38-b4971ad81910@2ddbe",
|
||||
"__expectedType__": "cc.SpriteFrame"
|
||||
},
|
||||
"_type": 1,
|
||||
@@ -363,7 +363,10 @@
|
||||
"_fillRange": 0,
|
||||
"_isTrimmedMode": true,
|
||||
"_useGrayscale": false,
|
||||
"_atlas": null,
|
||||
"_atlas": {
|
||||
"__uuid__": "dd7e2f04-f9b9-489b-8d38-b4971ad81910",
|
||||
"__expectedType__": "cc.SpriteAtlas"
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
@@ -486,8 +489,8 @@
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 1388,
|
||||
"height": 78
|
||||
"width": 1408,
|
||||
"height": 2528
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
@@ -608,8 +611,8 @@
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 710,
|
||||
"height": 55
|
||||
"width": 720,
|
||||
"height": 1280
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
@@ -667,6 +670,7 @@
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "50T0YGiGBH7qZZFeATiEP+",
|
||||
"instance": null,
|
||||
"targetOverrides": null
|
||||
}
|
||||
]
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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