From 95e64c530a5a0797d14d18dbdbf744c83bc1e6d3 Mon Sep 17 00:00:00 2001 From: panw Date: Wed, 16 Jul 2025 16:07:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7bug=20=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/script/game/common/config/LevelUp.ts | 175 +++++--------------- assets/script/game/map/CardComp.ts | 9 +- assets/script/game/map/CardsComp.ts | 2 +- assets/script/game/map/MissionComp.ts | 2 +- 4 files changed, 50 insertions(+), 138 deletions(-) diff --git a/assets/script/game/common/config/LevelUp.ts b/assets/script/game/common/config/LevelUp.ts index e1c321db..d018dc34 100644 --- a/assets/script/game/common/config/LevelUp.ts +++ b/assets/script/game/common/config/LevelUp.ts @@ -8,10 +8,10 @@ import { Quality } from "./CardSet" // 强化类型枚举 export const EnhancementType = { - ATTACK: 1, // 攻击力强化 - HEALTH: 2, // 生命值强化 - ATTACK_SPEED: 3, // 攻击速度强化 - DEF: 4, // 特殊效果强化 + ATTACK: 0, // 攻击力强化 + HEALTH: 1, // 生命值强化 + ATTACK_SPEED: 2, // 攻击速度强化 + DEF: 3, // 特殊效果强化 } // 玩家强化等级追踪 @@ -30,105 +30,39 @@ export const defaultEnhancementProgress: PlayerEnhancementProgress = { [EnhancementType.DEF]: 0, }; export const defaultEnhancements=()=>{ - return defaultEnhancementProgress + return { + [EnhancementType.ATTACK]: 0, + [EnhancementType.HEALTH]: 0, + [EnhancementType.ATTACK_SPEED]: 0, + [EnhancementType.DEF]: 0, + } } -// 强化选项配置表(二维数组格式) -export const EnhancementOptions: EnhancementOption[][] = [ - // 攻击力强化选项 (EnhancementType.ATTACK = 1) - [ - { - uuid: 1001, type: EnhancementType.ATTACK,lv: 1,name: "力量训练 I",description: "攻击力 +5", - buffType: BuffAttr.ATK,value: 5,icon: "3058",rarity: Quality.GREEN - }, - { - uuid: 1002, type: EnhancementType.ATTACK,lv: 2,name: "力量训练 II", description: "攻击力 +12", - buffType: BuffAttr.ATK,value: 12,icon: "3058",rarity: Quality.GREEN - }, - { - uuid: 1003, type: EnhancementType.ATTACK,lv: 3,name: "力量训练 III",description: "攻击力 +20", - buffType: BuffAttr.ATK,value: 20,icon: "3058",rarity: Quality.BLUE - }, - { - uuid: 1004, type: EnhancementType.ATTACK,lv: 4,name: "力量训练 IV",description: "攻击力 +35", - buffType: BuffAttr.ATK,value: 35,icon: "3058",rarity: Quality.BLUE - }, - { - uuid: 1005, type: EnhancementType.ATTACK,lv: 5,name: "力量训练 V",description: "攻击力 +50", - buffType: BuffAttr.ATK,value: 50,icon: "3058",rarity: Quality.PURPLE - } - ], - - // 生命值强化选项 (EnhancementType.HEALTH = 2) - [ - { - uuid: 2001, type: EnhancementType.HEALTH,lv: 1,name: "体质增强 I",description: "生命值 +10", - buffType: BuffAttr.HP,value: 10,icon: "3058",rarity: Quality.GREEN - }, - { - uuid: 2002, type: EnhancementType.HEALTH,lv: 2,name: "体质增强 II",description: "生命值 +25", - buffType: BuffAttr.HP,value: 25,icon: "3058",rarity: Quality.GREEN - }, - { - uuid: 2003, type: EnhancementType.HEALTH,lv: 3,name: "体质增强 III",description: "生命值 +40", - buffType: BuffAttr.HP,value: 40,icon: "3058",rarity: Quality.BLUE - }, - { - uuid: 2004, type: EnhancementType.HEALTH,lv: 4,name: "体质增强 IV",description: "生命值 +65", - buffType: BuffAttr.HP,value: 65,icon: "3058",rarity: Quality.BLUE - }, - { - uuid: 2005, type: EnhancementType.HEALTH,lv: 5,name: "体质增强 V",description: "生命值 +100", - buffType: BuffAttr.HP,value: 100,icon: "3058",rarity: Quality.PURPLE - } - ], - - // 攻击速度强化选项 (EnhancementType.ATTACK_SPEED = 3) - [ - { - uuid: 3001, type: EnhancementType.ATTACK_SPEED,lv: 1,name: "快速出手 I",description: "攻击速度 +1%", - buffType: BuffAttr.ATK_CD,value: 1,icon: "3058",rarity: Quality.GREEN - }, - { - uuid: 3002, type: EnhancementType.ATTACK_SPEED,lv: 2,name: "快速出手 II",description: "攻击速度 +2%", - buffType: BuffAttr.ATK_CD,value: 2,icon: "3058",rarity: Quality.GREEN - }, - { - uuid: 3003, type: EnhancementType.ATTACK_SPEED,lv: 3,name: "快速出手 III",description: "攻击速度 +3%", - buffType: BuffAttr.ATK_CD,value: 3,icon: "3058",rarity: Quality.BLUE - }, - { - uuid: 3004, type: EnhancementType.ATTACK_SPEED,lv: 4,name: "快速出手 IV",description: "攻击速度 +4%", - buffType: BuffAttr.ATK_CD,value: 4,icon: "3058",rarity: Quality.BLUE - }, - { - uuid: 3005, type: EnhancementType.ATTACK_SPEED,lv: 5,name: "快速出手 V",description: "攻击速度 +5%", - buffType: BuffAttr.ATK_CD,value: 5,icon: "3058",rarity: Quality.PURPLE - } - ], - - // 特殊效果强化选项 (EnhancementType.SPECIAL = 4) - [ - { - uuid: 4001, type: EnhancementType.DEF,lv: 1,name: "幸运强化 I",description: "暴击率 +1%", - buffType: BuffAttr.DEF,value: 1,icon: "3058",rarity: Quality.GREEN - }, - { - uuid: 4002, type: EnhancementType.DEF,lv: 2,name: "幸运强化 II",description: "暴击率 +2%", - buffType: BuffAttr.DEF,value: 2,icon: "3058",rarity: Quality.GREEN - }, - { - uuid: 4003, type: EnhancementType.DEF,lv: 3,name: "幸运强化 III",description: "暴击率 +3%", - buffType: BuffAttr.DEF,value: 3,icon: "3058",rarity: Quality.BLUE - }, - { - uuid: 4004, type: EnhancementType.DEF,lv: 4,name: "幸运强化 IV",description: "暴击率 +4%", - buffType: BuffAttr.DEF,value: 4,icon: "3058",rarity: Quality.BLUE - }, - { - uuid: 4005, type: EnhancementType.DEF,lv: 5,name: "幸运强化 V",description: "暴击率 +5%", - buffType: BuffAttr.DEF,value: 5,icon: "3058",rarity: Quality.PURPLE - } - ] +// 强化选项配置表(一维数组格式) +export const EnhancementOptions: EnhancementOption[] = [ + // 攻击力强化选项 + { uuid: 1001, type: EnhancementType.ATTACK, lv: 1, name: "力量训练 I", description: "攻击力 +5", buffType: BuffAttr.ATK, value: 5, icon: "3058", rarity: Quality.GREEN }, + { uuid: 1002, type: EnhancementType.ATTACK, lv: 2, name: "力量训练 II", description: "攻击力 +12", buffType: BuffAttr.ATK, value: 12, icon: "3058", rarity: Quality.GREEN }, + { uuid: 1003, type: EnhancementType.ATTACK, lv: 3, name: "力量训练 III", description: "攻击力 +20", buffType: BuffAttr.ATK, value: 20, icon: "3058", rarity: Quality.BLUE }, + { uuid: 1004, type: EnhancementType.ATTACK, lv: 4, name: "力量训练 IV", description: "攻击力 +35", buffType: BuffAttr.ATK, value: 35, icon: "3058", rarity: Quality.BLUE }, + { uuid: 1005, type: EnhancementType.ATTACK, lv: 5, name: "力量训练 V", description: "攻击力 +50", buffType: BuffAttr.ATK, value: 50, icon: "3058", rarity: Quality.PURPLE }, + // 生命值强化选项 + { uuid: 2001, type: EnhancementType.HEALTH, lv: 1, name: "体质增强 I", description: "生命值 +10", buffType: BuffAttr.HP, value: 10, icon: "3058", rarity: Quality.GREEN }, + { uuid: 2002, type: EnhancementType.HEALTH, lv: 2, name: "体质增强 II", description: "生命值 +25", buffType: BuffAttr.HP, value: 25, icon: "3058", rarity: Quality.GREEN }, + { uuid: 2003, type: EnhancementType.HEALTH, lv: 3, name: "体质增强 III", description: "生命值 +40", buffType: BuffAttr.HP, value: 40, icon: "3058", rarity: Quality.BLUE }, + { uuid: 2004, type: EnhancementType.HEALTH, lv: 4, name: "体质增强 IV", description: "生命值 +65", buffType: BuffAttr.HP, value: 65, icon: "3058", rarity: Quality.BLUE }, + { uuid: 2005, type: EnhancementType.HEALTH, lv: 5, name: "体质增强 V", description: "生命值 +100", buffType: BuffAttr.HP, value: 100, icon: "3058", rarity: Quality.PURPLE }, + // 攻击速度强化选项 + { uuid: 3001, type: EnhancementType.ATTACK_SPEED, lv: 1, name: "快速出手 I", description: "攻击速度 +1%", buffType: BuffAttr.ATK_CD, value: 1, icon: "3058", rarity: Quality.GREEN }, + { uuid: 3002, type: EnhancementType.ATTACK_SPEED, lv: 2, name: "快速出手 II", description: "攻击速度 +2%", buffType: BuffAttr.ATK_CD, value: 2, icon: "3058", rarity: Quality.GREEN }, + { uuid: 3003, type: EnhancementType.ATTACK_SPEED, lv: 3, name: "快速出手 III", description: "攻击速度 +3%", buffType: BuffAttr.ATK_CD, value: 3, icon: "3058", rarity: Quality.BLUE }, + { uuid: 3004, type: EnhancementType.ATTACK_SPEED, lv: 4, name: "快速出手 IV", description: "攻击速度 +4%", buffType: BuffAttr.ATK_CD, value: 4, icon: "3058", rarity: Quality.BLUE }, + { uuid: 3005, type: EnhancementType.ATTACK_SPEED, lv: 5, name: "快速出手 V", description: "攻击速度 +5%", buffType: BuffAttr.ATK_CD, value: 5, icon: "3058", rarity: Quality.PURPLE }, + // 特殊效果强化选项 + { uuid: 4001, type: EnhancementType.DEF, lv: 1, name: "幸运强化 I", description: "暴击率 +1%", buffType: BuffAttr.DEF, value: 1, icon: "3058", rarity: Quality.GREEN }, + { uuid: 4002, type: EnhancementType.DEF, lv: 2, name: "幸运强化 II", description: "暴击率 +2%", buffType: BuffAttr.DEF, value: 2, icon: "3058", rarity: Quality.GREEN }, + { uuid: 4003, type: EnhancementType.DEF, lv: 3, name: "幸运强化 III", description: "暴击率 +3%", buffType: BuffAttr.DEF, value: 3, icon: "3058", rarity: Quality.BLUE }, + { uuid: 4004, type: EnhancementType.DEF, lv: 4, name: "幸运强化 IV", description: "暴击率 +4%", buffType: BuffAttr.DEF, value: 4, icon: "3058", rarity: Quality.BLUE }, + { uuid: 4005, type: EnhancementType.DEF, lv: 5, name: "幸运强化 V", description: "暴击率 +5%", buffType: BuffAttr.DEF, value: 5, icon: "3058", rarity: Quality.PURPLE }, ]; // 强化选项接口定义 @@ -169,7 +103,7 @@ export function getEnhancement(playerProgress: PlayerEnhancementProgress, count: const currentLevel = playerProgress[type] || 0; const nextLevel = Math.min(currentLevel + 1, 5); // 最大等级为5 - const option = EnhancementOptions[type - 1]?.[nextLevel - 1]; // 数组索引从0开始 + const option = getEnhancementOptionByTypeAndLevel(type, nextLevel); if (option) { options.push(option); } @@ -180,7 +114,7 @@ export function getEnhancement(playerProgress: PlayerEnhancementProgress, count: // 获取指定类型和等级的强化选项 export function getEnhancementOptionByTypeAndLevel(type: number, level: number): EnhancementOption | null { - return EnhancementOptions[type - 1]?.[level - 1] || null; // 数组索引从0开始 + return EnhancementOptions.find(opt => opt.type === type && opt.lv === level) || null; } // 获取所有可用的强化类型 @@ -190,16 +124,7 @@ export function getAllEnhancementTypes(): number[] { // 获取指定等级的所有强化选项 export function getEnhancementOptionsByLevel(level: number): EnhancementOption[] { - const options: EnhancementOption[] = []; - - for (const type of Object.values(EnhancementType)) { - const option = EnhancementOptions[type - 1]?.[level - 1]; // 数组索引从0开始 - if (option) { - options.push(option); - } - } - - return options; + return EnhancementOptions.filter(opt => opt.lv === level); } // 更新玩家强化进度 @@ -276,31 +201,21 @@ export function getTotalEnhancementLevel(progress: PlayerEnhancementProgress): n // 通过UUID获取强化选项 export function getEnhancementOptionByUuid(uuid: number): EnhancementOption | null { - for (const typeArray of EnhancementOptions) { - for (const option of typeArray) { - if (option.uuid === uuid) { - return option; - } - } - } - return null; + return EnhancementOptions.find(opt => opt.uuid === uuid) || null; } // 获取指定类型的所有强化选项 export function getEnhancementOptionsByType(type: number): EnhancementOption[] { - const typeIndex = type - 1; // 转换为数组索引 - return EnhancementOptions[typeIndex] || []; + return EnhancementOptions.filter(opt => opt.type === type); } // 获取指定UUID范围的强化选项 export function getEnhancementOptionsByUuidRange(startUuid: number, endUuid: number): EnhancementOption[] { const options: EnhancementOption[] = []; - for (const typeArray of EnhancementOptions) { - for (const option of typeArray) { - if (option.uuid >= startUuid && option.uuid <= endUuid) { - options.push(option); - } + EnhancementOptions.forEach(option => { + if (option.uuid >= startUuid && option.uuid <= endUuid) { + options.push(option); } - } + }); return options; } \ No newline at end of file diff --git a/assets/script/game/map/CardComp.ts b/assets/script/game/map/CardComp.ts index 6704a63c..b8526567 100644 --- a/assets/script/game/map/CardComp.ts +++ b/assets/script/game/map/CardComp.ts @@ -324,13 +324,10 @@ export class CardComp extends CCComp { oops.message.dispatchEvent(GameEvent.CardsClose) break case cardType.ENHANCEMENT: - console.log("[cardcomp]:use_card 强化卡") + console.log("[cardcomp]:use_card 强化卡",this.enhancement_data,smc.enhancements) oops.message.dispatchEvent(GameEvent.UseEnhancement,this.enhancement_data) - if(this.enhancement_data.lv >=5){ - smc.enhancements[this.enhancement_data.type]=this.enhancement_data.lv - }else{ - smc.enhancements[this.enhancement_data.type]=this.enhancement_data.lv+1 - } + smc.enhancements[this.enhancement_data.type]=this.enhancement_data.lv + console.log("[cardcomp]:use_card 强化卡",this.enhancement_data,smc.enhancements) oops.message.dispatchEvent(GameEvent.CardsClose) break } diff --git a/assets/script/game/map/CardsComp.ts b/assets/script/game/map/CardsComp.ts index 933280cc..0e74a9e4 100644 --- a/assets/script/game/map/CardsComp.ts +++ b/assets/script/game/map/CardsComp.ts @@ -99,7 +99,7 @@ export class CardsCompComp extends CCComp { } enhancement_select(){ let list=getEnhancement(smc.enhancements,3) - console.log("[CardsComp]:强化选择卡牌列表",list) + console.log("[CardsComp]:强化选择卡牌列表",smc.enhancements,list) this.card1c.enhancement_select(list[0]) this.card2c.enhancement_select(list[1]) this.card3c.enhancement_select(list[2]) diff --git a/assets/script/game/map/MissionComp.ts b/assets/script/game/map/MissionComp.ts index ed0dc267..3f0e017e 100644 --- a/assets/script/game/map/MissionComp.ts +++ b/assets/script/game/map/MissionComp.ts @@ -101,13 +101,13 @@ export class MissionComp extends CCComp { data_init(){ //局内数据初始化 smc 数据初始化 - console.log("局内数据初始化") smc.mission.play = true; smc.vmdata.mission_data = JSON.parse(JSON.stringify(MissionData)); smc.vmdata.hero = JSON.parse(JSON.stringify(VmInfo)); smc.vmdata.boss = JSON.parse(JSON.stringify(VmInfo)); this.GlodAddTimer=new Timer(smc.vmdata.mission_data.refrsh_time) smc.enhancements=defaultEnhancements() + console.log("局内数据初始化",smc.enhancements,defaultEnhancements()) }