强化选项 完成
This commit is contained in:
@@ -11,7 +11,7 @@ export const EnhancementType = {
|
||||
ATTACK: 1, // 攻击力强化
|
||||
HEALTH: 2, // 生命值强化
|
||||
ATTACK_SPEED: 3, // 攻击速度强化
|
||||
SPECIAL: 4, // 特殊效果强化
|
||||
DEF: 4, // 特殊效果强化
|
||||
}
|
||||
|
||||
// 玩家强化等级追踪
|
||||
@@ -19,7 +19,7 @@ export interface PlayerEnhancementProgress {
|
||||
[EnhancementType.ATTACK]: number;
|
||||
[EnhancementType.HEALTH]: number;
|
||||
[EnhancementType.ATTACK_SPEED]: number;
|
||||
[EnhancementType.SPECIAL]: number;
|
||||
[EnhancementType.DEF]: number;
|
||||
}
|
||||
|
||||
// 默认强化进度(所有强化都从0级开始)
|
||||
@@ -27,152 +27,121 @@ export const defaultEnhancementProgress: PlayerEnhancementProgress = {
|
||||
[EnhancementType.ATTACK]: 0,
|
||||
[EnhancementType.HEALTH]: 0,
|
||||
[EnhancementType.ATTACK_SPEED]: 0,
|
||||
[EnhancementType.SPECIAL]: 0,
|
||||
[EnhancementType.DEF]: 0,
|
||||
};
|
||||
|
||||
// 强化选项配置表(按等级分类)
|
||||
export const EnhancementOptions = {
|
||||
// 攻击力强化选项
|
||||
[EnhancementType.ATTACK]: {
|
||||
1: {
|
||||
name: "力量训练 I",
|
||||
description: "攻击力 +5",
|
||||
buffType: BuffAttr.ATK,
|
||||
value: 5,
|
||||
icon: "attack_1",
|
||||
rarity: "common"
|
||||
},
|
||||
2: {
|
||||
name: "力量训练 II",
|
||||
description: "攻击力 +12",
|
||||
buffType: BuffAttr.ATK,
|
||||
value: 12,
|
||||
icon: "attack_2",
|
||||
rarity: "uncommon"
|
||||
},
|
||||
3: {
|
||||
name: "力量训练 III",
|
||||
description: "攻击力 +20",
|
||||
buffType: BuffAttr.ATK,
|
||||
value: 20,
|
||||
icon: "attack_3",
|
||||
rarity: "rare"
|
||||
},
|
||||
4: {
|
||||
name: "力量训练 IV",
|
||||
description: "攻击力 +35",
|
||||
buffType: BuffAttr.ATK,
|
||||
value: 35,
|
||||
icon: "attack_4",
|
||||
rarity: "epic"
|
||||
},
|
||||
5: {
|
||||
name: "力量训练 V",
|
||||
description: "攻击力 +50",
|
||||
buffType: BuffAttr.ATK,
|
||||
value: 50,
|
||||
icon: "attack_5",
|
||||
rarity: "legendary"
|
||||
}
|
||||
},
|
||||
|
||||
// 生命值强化选项
|
||||
[EnhancementType.HEALTH]: {
|
||||
1: {
|
||||
name: "体质增强 I",
|
||||
description: "生命值 +10",
|
||||
buffType: BuffAttr.HP,
|
||||
value: 10,
|
||||
icon: "health_1",
|
||||
rarity: "common"
|
||||
},
|
||||
2: {
|
||||
name: "体质增强 II",
|
||||
description: "生命值 +25",
|
||||
buffType: BuffAttr.HP,
|
||||
value: 25,
|
||||
icon: "health_2",
|
||||
rarity: "uncommon"
|
||||
},
|
||||
3: {
|
||||
name: "体质增强 III",
|
||||
description: "生命值 +40",
|
||||
buffType: BuffAttr.HP,
|
||||
value: 40,
|
||||
icon: "health_3",
|
||||
rarity: "rare"
|
||||
},
|
||||
4: {
|
||||
name: "体质增强 IV",
|
||||
description: "生命值 +65",
|
||||
buffType: BuffAttr.HP,
|
||||
value: 65,
|
||||
icon: "health_4",
|
||||
rarity: "epic"
|
||||
},
|
||||
5: {
|
||||
name: "体质增强 V",
|
||||
description: "生命值 +100",
|
||||
buffType: BuffAttr.HP,
|
||||
value: 100,
|
||||
icon: "health_5",
|
||||
rarity: "legendary"
|
||||
}
|
||||
},
|
||||
|
||||
// 攻击速度强化选项
|
||||
[EnhancementType.ATTACK_SPEED]: {
|
||||
1: {
|
||||
name: "快速出手 I",
|
||||
description: "攻击速度 +8%",
|
||||
buffType: BuffAttr.ATK_CD,
|
||||
value: -8, // 负值表示减少CD,即提升攻击速度
|
||||
icon: "speed_1",
|
||||
rarity: "common"
|
||||
},
|
||||
2: {
|
||||
name: "快速出手 II",
|
||||
description: "攻击速度 +15%",
|
||||
buffType: BuffAttr.ATK_CD,
|
||||
value: -15,
|
||||
icon: "speed_2",
|
||||
rarity: "uncommon"
|
||||
},
|
||||
3: {
|
||||
name: "快速出手 III",
|
||||
description: "攻击速度 +25%",
|
||||
buffType: BuffAttr.ATK_CD,
|
||||
value: -25,
|
||||
icon: "speed_3",
|
||||
rarity: "rare"
|
||||
},
|
||||
4: {
|
||||
name: "快速出手 IV",
|
||||
description: "攻击速度 +40%",
|
||||
buffType: BuffAttr.ATK_CD,
|
||||
value: -40,
|
||||
icon: "speed_4",
|
||||
rarity: "epic"
|
||||
},
|
||||
5: {
|
||||
name: "快速出手 V",
|
||||
description: "攻击速度 +60%",
|
||||
buffType: BuffAttr.ATK_CD,
|
||||
value: -60,
|
||||
icon: "speed_5",
|
||||
rarity: "legendary"
|
||||
}
|
||||
},
|
||||
export const defaultEnhancements=()=>{
|
||||
return defaultEnhancementProgress
|
||||
}
|
||||
// 强化选项配置表(二维数组格式)
|
||||
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 interface EnhancementOption {
|
||||
name: string;
|
||||
description: string;
|
||||
buffType: number;
|
||||
value: number;
|
||||
icon: string;
|
||||
rarity: string;
|
||||
uuid: number; // 强化选项唯一ID
|
||||
type: number; // 强化类型 (EnhancementType)
|
||||
lv: number; // 强化等级
|
||||
name: string; // 强化名称
|
||||
description: string; // 强化描述
|
||||
buffType: number; // 属性类型 (BuffAttr)
|
||||
value: number; // 属性值
|
||||
icon: string; // 图标ID
|
||||
rarity: number; // 稀有度 (Quality)
|
||||
}
|
||||
|
||||
// 获取随机强化选项(基于玩家当前强化进度)
|
||||
@@ -200,7 +169,7 @@ export function getEnhancement(playerProgress: PlayerEnhancementProgress, count:
|
||||
const currentLevel = playerProgress[type] || 0;
|
||||
const nextLevel = Math.min(currentLevel + 1, 5); // 最大等级为5
|
||||
|
||||
const option = EnhancementOptions[type]?.[nextLevel];
|
||||
const option = EnhancementOptions[type - 1]?.[nextLevel - 1]; // 数组索引从0开始
|
||||
if (option) {
|
||||
options.push(option);
|
||||
}
|
||||
@@ -211,7 +180,7 @@ export function getEnhancement(playerProgress: PlayerEnhancementProgress, count:
|
||||
|
||||
// 获取指定类型和等级的强化选项
|
||||
export function getEnhancementOptionByTypeAndLevel(type: number, level: number): EnhancementOption | null {
|
||||
return EnhancementOptions[type]?.[level] || null;
|
||||
return EnhancementOptions[type - 1]?.[level - 1] || null; // 数组索引从0开始
|
||||
}
|
||||
|
||||
// 获取所有可用的强化类型
|
||||
@@ -224,7 +193,7 @@ export function getEnhancementOptionsByLevel(level: number): EnhancementOption[]
|
||||
const options: EnhancementOption[] = [];
|
||||
|
||||
for (const type of Object.values(EnhancementType)) {
|
||||
const option = EnhancementOptions[type]?.[level];
|
||||
const option = EnhancementOptions[type - 1]?.[level - 1]; // 数组索引从0开始
|
||||
if (option) {
|
||||
options.push(option);
|
||||
}
|
||||
@@ -303,4 +272,35 @@ export function getEnhancementLevel(progress: PlayerEnhancementProgress, type: n
|
||||
// 获取玩家所有强化的总等级
|
||||
export function getTotalEnhancementLevel(progress: PlayerEnhancementProgress): number {
|
||||
return Object.values(progress).reduce((total, level) => total + level, 0);
|
||||
}
|
||||
|
||||
// 通过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;
|
||||
}
|
||||
|
||||
// 获取指定类型的所有强化选项
|
||||
export function getEnhancementOptionsByType(type: number): EnhancementOption[] {
|
||||
const typeIndex = type - 1; // 转换为数组索引
|
||||
return EnhancementOptions[typeIndex] || [];
|
||||
}
|
||||
|
||||
// 获取指定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);
|
||||
}
|
||||
}
|
||||
}
|
||||
return options;
|
||||
}
|
||||
Reference in New Issue
Block a user