|
|
|
|
@@ -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;
|
|
|
|
|
}
|