From 178050950925624181843cd6d22d22627ee1b074 Mon Sep 17 00:00:00 2001 From: panfudan Date: Tue, 15 Jul 2025 22:42:50 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8C=96=20=E5=BC=BA=E5=8C=96?= =?UTF-8?q?=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/script/game/common/config/Equips.ts | 92 ++- assets/script/game/common/config/LevelUp.ts | 306 +++++++++ .../game/common/config/LevelUpEnhancement.ts | 604 ------------------ .../config/LevelUpEnhancementExample.ts | 258 -------- .../config/README_LevelUpEnhancement.md | 310 --------- 5 files changed, 397 insertions(+), 1173 deletions(-) create mode 100644 assets/script/game/common/config/LevelUp.ts delete mode 100644 assets/script/game/common/config/LevelUpEnhancement.ts delete mode 100644 assets/script/game/common/config/LevelUpEnhancementExample.ts delete mode 100644 assets/script/game/common/config/README_LevelUpEnhancement.md diff --git a/assets/script/game/common/config/Equips.ts b/assets/script/game/common/config/Equips.ts index e8617710..4cece51e 100644 --- a/assets/script/game/common/config/Equips.ts +++ b/assets/script/game/common/config/Equips.ts @@ -236,7 +236,28 @@ export const accessoryItems = [ // 永夜戒指 7447, 7547, ]; - +//build 流派 +export const build_list = { + CRIT:1,//暴击流 + DODGE:2,//闪避流 + REFLECT:3,//反伤流 + ATKUP:4,//攻击增益流 + SPEED:5,//高速流 + BURN:6,//叠伤流 + PUNCTURE:7,//穿透流 + WFUNY:8,//风怒流 +} +//build 说明 +export const build_info = { + [build_list.CRIT]: "暴击流", + [build_list.DODGE]: "闪避流", + [build_list.REFLECT]: "反伤流", + [build_list.ATKUP]: "攻击增益流", + [build_list.SPEED]: "高速流", + [build_list.BURN]: "叠伤流", + [build_list.PUNCTURE]: "穿透流", + [build_list.WFUNY]: "风怒流", +} export const weapons = [...swordWeapons, ...axeWeapons, ...hammerWeapons, ...knifeWeapons]; export const armors = [...shieldArmors]; export const accessorys = [...accessoryItems]; @@ -345,6 +366,7 @@ export interface EquipData { info: string; // 装备描述 special_attr: EquipSpecialAttrData[]; // 特殊属性数组 buff: EquipAttribute[]; // 属性加成列表 + build?: number[]; // 流派(可选) } export const EquipInfo: { [key: number]: EquipData } = { @@ -358,6 +380,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["穿刺短剑"], info: "攻击力增加50%,穿透1个目标", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 50, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -373,6 +396,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒锋长剑"], info: "攻击力增加70%,穿透2个目标,10%穿刺伤害", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 70, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -389,6 +413,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞穿刺者"], info: "攻击力增加95%,穿透3个目标,20%穿刺伤害", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 95, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -407,6 +432,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["穿刺短剑"], info: "攻击力增加80%,穿透1个目标", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 80, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -422,6 +448,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒锋长剑"], info: "攻击力增加110%,穿透2个目标,15%穿刺伤害", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 110, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -438,6 +465,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞穿刺者"], info: "攻击力增加140%,穿透3个目标,25%穿刺伤害", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 140, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -456,6 +484,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["穿刺短剑"], info: "攻击力增加110%,穿透1个目标", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 110, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -471,6 +500,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒锋长剑"], info: "攻击力增加150%,穿透2个目标,20%穿刺伤害", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 150, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -487,6 +517,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞穿刺者"], info: "攻击力增加185%,穿透3个目标,30%穿刺伤害", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 185, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -505,6 +536,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["穿刺短剑"], info: "攻击力增加140%,穿透1个目标", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 140, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -520,6 +552,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒锋长剑"], info: "攻击力增加190%,穿透2个目标,25%穿刺伤害", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 190, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -536,6 +569,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞穿刺者"], info: "攻击力增加240%,穿透3个目标,35%穿刺伤害", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 240, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -552,6 +586,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["冰霜穿刺者"], info: "攻击力增加240%,穿透3个目标,冰冻概率20%", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 240, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -570,6 +605,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["穿刺短剑"], info: "攻击力增加170%,穿透1个目标", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 170, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -585,6 +621,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒锋长剑"], info: "攻击力增加230%,穿透2个目标,30%穿刺伤害", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 230, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -601,6 +638,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞穿刺者"], info: "攻击力增加290%,穿透3个目标,40%穿刺伤害", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 290, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -617,6 +655,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["冰霜穿刺者"], info: "攻击力增加290%,穿透3个目标,冰冻概率25%", special_attr: [], + build: [build_list.PUNCTURE], buff: [ { type: BuffAttr.ATK, value: 290, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -20, target: EquipAttrTarget.HERO }, // CD修正-20% @@ -637,6 +676,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["风暴战斧"], info: "攻击力增加100%,风怒概率20%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 100, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -652,6 +692,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒锋巨斧"], info: "攻击力增加130%,风怒概率30%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 130, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -667,6 +708,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞撕裂者"], info: "攻击力增加160%,风怒概率40%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 160, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -684,6 +726,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["风暴战斧"], info: "攻击力增加130%,风怒概率25%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 130, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -699,6 +742,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒锋巨斧"], info: "攻击力增加170%,风怒概率35%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 170, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -714,6 +758,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞撕裂者"], info: "攻击力增加200%,风怒概率45%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 200, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -731,6 +776,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["风暴战斧"], info: "攻击力增加160%,风怒概率30%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 160, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -746,6 +792,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒锋巨斧"], info: "攻击力增加210%,风怒概率40%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 210, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -761,6 +808,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞撕裂者"], info: "攻击力增加240%,风怒概率50%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 240, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -778,6 +826,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["风暴战斧"], info: "攻击力增加190%,风怒概率35%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 190, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -793,6 +842,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒锋巨斧"], info: "攻击力增加250%,风怒概率45%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 250, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -808,6 +858,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞撕裂者"], info: "攻击力增加280%,风怒概率75%,击退概率24%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 280, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -824,6 +875,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["泰坦撕裂者"], info: "攻击力增加200%,风怒概率75%,击晕概率10%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 200, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -842,6 +894,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["风暴战斧"], info: "攻击力增加220%,风怒概率40%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 220, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -857,6 +910,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒锋巨斧"], info: "攻击力增加280%,风怒概率50%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 280, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -872,6 +926,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞撕裂者"], info: "攻击力增加340%,风怒概率60%,击退概率27%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 340, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -888,6 +943,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["泰坦撕裂者"], info: "攻击力增加300%,风怒概率60%,击晕概率12.5%", special_attr: [], + build: [build_list.WFUNY], buff: [ { type: BuffAttr.ATK, value: 300, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 0, target: EquipAttrTarget.HERO }, // CD修正0% @@ -908,6 +964,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["碎骨战锤"], info: "攻击力增加120%,暴击率10%,暴击伤害+25%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 120, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -924,6 +981,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["雷霆重锤"], info: "攻击力增加150%,暴击率15%,暴击伤害+35%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 150, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -940,6 +998,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞粉碎者"], info: "攻击力增加180%,暴击率20%,暴击伤害+50%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 180, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -958,6 +1017,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["碎骨战锤"], info: "攻击力增加150%,暴击率10%,暴击伤害+30%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 150, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -974,6 +1034,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["雷霆重锤"], info: "攻击力增加190%,暴击率20%,暴击伤害+40%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 190, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -990,6 +1051,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞粉碎者"], info: "攻击力增加220%,暴击率25%,暴击伤害+55%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 220, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -1008,6 +1070,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["碎骨战锤"], info: "攻击力增加180%,暴击率15%,暴击伤害+30%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 180, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -1024,6 +1087,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["雷霆重锤"], info: "攻击力增加230%,暴击率20%,暴击伤害+40%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 230, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -1040,6 +1104,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞粉碎者"], info: "攻击力增加260%,暴击率25%,暴击伤害+60%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 260, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -1058,6 +1123,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["碎骨战锤"], info: "攻击力增加210%,暴击率15%,暴击伤害+35%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 210, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -1074,6 +1140,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["雷霆重锤"], info: "攻击力增加270%,暴击率25%,暴击伤害+45%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 270, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -1090,6 +1157,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞粉碎者"], info: "攻击力增加300%,暴击率30%,暴击伤害+65%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 300, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -1106,6 +1174,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["泰坦粉碎者"], info: "攻击力增加300%,暴击率30%,击晕概率25%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 300, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -1124,6 +1193,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["碎骨战锤"], info: "攻击力增加240%,暴击率20%,暴击伤害+35%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 240, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -1140,6 +1210,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["雷霆重锤"], info: "攻击力增加310%,暴击率25%,暴击伤害+45%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 310, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -1156,6 +1227,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞粉碎者"], info: "攻击力增加360%,暴击率30%,暴击伤害+70%,击晕概率+15%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 360, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -1173,6 +1245,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["泰坦粉碎者"], info: "攻击力增加360%,暴击率30%,击晕概率30%", special_attr: [], + build: [build_list.CRIT], buff: [ { type: BuffAttr.ATK, value: 360, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: 6.7, target: EquipAttrTarget.HERO }, // CD修正+6.7% @@ -1193,6 +1266,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["影刃"], info: "攻击力增加60%,攻击施加易伤(15%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 60, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1208,6 +1282,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒月双刃"], info: "攻击力增加85%,攻击施加易伤(20%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 85, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1223,6 +1298,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞切割者"], info: "攻击力增加115%,攻击施加易伤(25%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 115, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1240,6 +1316,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["影刃"], info: "攻击力增加90%,攻击施加易伤(15%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 90, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1255,6 +1332,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒月双刃"], info: "攻击力增加125%,攻击施加易伤(25%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 125, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1270,6 +1348,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞切割者"], info: "攻击力增加160%,攻击施加易伤(30%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 160, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1287,6 +1366,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["影刃"], info: "攻击力增加120%,攻击施加易伤(20%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 120, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1302,6 +1382,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒月双刃"], info: "攻击力增加165%,攻击施加易伤(25%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 165, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1317,6 +1398,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞切割者"], info: "攻击力增加205%,攻击施加易伤(35%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 205, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1334,6 +1416,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["影刃"], info: "攻击力增加150%,攻击施加易伤(20%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 150, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1349,6 +1432,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒月双刃"], info: "攻击力增加205%,攻击施加易伤(30%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 205, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1364,6 +1448,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞切割者"], info: "攻击力增加250%,攻击施加易伤(35%),易伤持续次数+1", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 250, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1380,6 +1465,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["冰霜切割者"], info: "攻击力增加250%,攻击施加易伤(35%),冰冻概率20%", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 250, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1398,6 +1484,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["影刃"], info: "攻击力增加180%,攻击施加易伤(25%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 180, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1413,6 +1500,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["寒月双刃"], info: "攻击力增加245%,攻击施加易伤(35%)", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 245, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1428,6 +1516,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["龙鳞切割者"], info: "攻击力增加300%,攻击施加易伤(45%),易伤持续次数+1", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 300, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% @@ -1444,6 +1533,7 @@ export const EquipInfo: { [key: number]: EquipData } = { path: EPath["冰霜切割者"], info: "攻击力增加300%,攻击施加易伤(45%),冰冻概率25%", special_attr: [], + build: [build_list.BURN], buff: [ { type: BuffAttr.ATK, value: 300, target: EquipAttrTarget.HERO }, { type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7% diff --git a/assets/script/game/common/config/LevelUp.ts b/assets/script/game/common/config/LevelUp.ts new file mode 100644 index 00000000..9cf14a12 --- /dev/null +++ b/assets/script/game/common/config/LevelUp.ts @@ -0,0 +1,306 @@ +/* + * 肉鸽游戏玩家升级强化选项配置表 + * 提供玩家升级后的属性强化选择 + */ + +import { BuffAttr } from "./SkillSet" +import { Quality } from "./CardSet" + +// 强化类型枚举 +export const EnhancementType = { + ATTACK: 1, // 攻击力强化 + HEALTH: 2, // 生命值强化 + ATTACK_SPEED: 3, // 攻击速度强化 + SPECIAL: 4, // 特殊效果强化 +} + +// 玩家强化等级追踪 +export interface PlayerEnhancementProgress { + [EnhancementType.ATTACK]: number; + [EnhancementType.HEALTH]: number; + [EnhancementType.ATTACK_SPEED]: number; + [EnhancementType.SPECIAL]: number; +} + +// 默认强化进度(所有强化都从0级开始) +export const defaultEnhancementProgress: PlayerEnhancementProgress = { + [EnhancementType.ATTACK]: 0, + [EnhancementType.HEALTH]: 0, + [EnhancementType.ATTACK_SPEED]: 0, + [EnhancementType.SPECIAL]: 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 interface EnhancementOption { + name: string; + description: string; + buffType: number; + value: number; + icon: string; + rarity: string; +} + +// 获取随机强化选项(基于玩家当前强化进度) +export function getEnhancement(playerProgress: PlayerEnhancementProgress, count: number = 3): EnhancementOption[] { + const options: EnhancementOption[] = []; + const enhancementTypes = Object.values(EnhancementType); + + // 随机选择强化类型 + const selectedTypes = []; + const shuffledTypes = [...enhancementTypes]; + + // 随机打乱数组 + for (let i = shuffledTypes.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [shuffledTypes[i], shuffledTypes[j]] = [shuffledTypes[j], shuffledTypes[i]]; + } + + // 选择指定数量的强化类型 + for (let i = 0; i < count && i < shuffledTypes.length; i++) { + selectedTypes.push(shuffledTypes[i]); + } + + // 为每个类型生成对应等级的选项 + selectedTypes.forEach(type => { + const currentLevel = playerProgress[type] || 0; + const nextLevel = Math.min(currentLevel + 1, 5); // 最大等级为5 + + const option = EnhancementOptions[type]?.[nextLevel]; + if (option) { + options.push(option); + } + }); + + return options; +} + +// 获取指定类型和等级的强化选项 +export function getEnhancementOptionByTypeAndLevel(type: number, level: number): EnhancementOption | null { + return EnhancementOptions[type]?.[level] || null; +} + +// 获取所有可用的强化类型 +export function getAllEnhancementTypes(): number[] { + return Object.values(EnhancementType); +} + +// 获取指定等级的所有强化选项 +export function getEnhancementOptionsByLevel(level: number): EnhancementOption[] { + const options: EnhancementOption[] = []; + + for (const type of Object.values(EnhancementType)) { + const option = EnhancementOptions[type]?.[level]; + if (option) { + options.push(option); + } + } + + return options; +} + +// 更新玩家强化进度 +export function updatePlayerEnhancementProgress( + progress: PlayerEnhancementProgress, + type: number, + levelIncrease: number = 1 +): PlayerEnhancementProgress { + const newProgress = { ...progress }; + const currentLevel = newProgress[type] || 0; + newProgress[type] = Math.min(currentLevel + levelIncrease, 5); // 最大等级为5 + return newProgress; +} + +// 检查某个强化类型是否还能继续升级 +export function canEnhancementUpgrade(progress: PlayerEnhancementProgress, type: number): boolean { + const currentLevel = progress[type] || 0; + return currentLevel < 5; // 最大等级为5 +} + +// 获取某个强化类型的下一级选项 +export function getNextLevelOption(progress: PlayerEnhancementProgress, type: number): EnhancementOption | null { + if (!canEnhancementUpgrade(progress, type)) { + return null; + } + + const currentLevel = progress[type] || 0; + const nextLevel = currentLevel + 1; + return getEnhancementOptionByTypeAndLevel(type, nextLevel); +} + +// 获取可升级的强化选项(排除已满级的) +export function getUpgradeableEnhancementOptions(progress: PlayerEnhancementProgress, count: number = 3): EnhancementOption[] { + const options: EnhancementOption[] = []; + const enhancementTypes = Object.values(EnhancementType); + + // 筛选出可以升级的强化类型 + const upgradeableTypes = enhancementTypes.filter(type => canEnhancementUpgrade(progress, type)); + + if (upgradeableTypes.length === 0) { + return options; // 没有可升级的选项 + } + + // 随机打乱可升级的类型 + const shuffledTypes = [...upgradeableTypes]; + for (let i = shuffledTypes.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [shuffledTypes[i], shuffledTypes[j]] = [shuffledTypes[j], shuffledTypes[i]]; + } + + // 选择指定数量的强化类型 + const selectedTypes = shuffledTypes.slice(0, Math.min(count, shuffledTypes.length)); + + // 为每个类型生成下一级选项 + selectedTypes.forEach(type => { + const option = getNextLevelOption(progress, type); + if (option) { + options.push(option); + } + }); + + return options; +} + +// 获取玩家某个强化类型的当前等级 +export function getEnhancementLevel(progress: PlayerEnhancementProgress, type: number): number { + return progress[type] || 0; +} + +// 获取玩家所有强化的总等级 +export function getTotalEnhancementLevel(progress: PlayerEnhancementProgress): number { + return Object.values(progress).reduce((total, level) => total + level, 0); +} \ No newline at end of file diff --git a/assets/script/game/common/config/LevelUpEnhancement.ts b/assets/script/game/common/config/LevelUpEnhancement.ts deleted file mode 100644 index 8c04cfd2..00000000 --- a/assets/script/game/common/config/LevelUpEnhancement.ts +++ /dev/null @@ -1,604 +0,0 @@ -/* - * 肉鸽游戏玩家升级强化选项配置表 - * 提供玩家升级后的属性强化选择 - */ - -import { BuffAttr } from "./SkillSet" -import { Quality } from "./CardSet" - -// 强化类型枚举 -export const EnhancementType = { - ATTACK: 1, // 攻击力强化 - HEALTH: 2, // 生命值强化 - ATTACK_SPEED: 3, // 攻击速度强化 - CRITICAL: 4, // 暴击率强化 - CRITICAL_DMG: 5, // 暴击伤害强化 - DODGE: 6, // 闪避率强化 - DEFENSE: 7, // 防御力强化 - SKILL_CD: 8, // 技能冷却强化 - SKILL_DMG: 9, // 技能伤害强化 - SPECIAL: 10, // 特殊效果强化 -} - -// 强化品质权重配置 -export const EnhancementQualityWeight = { - [Quality.WHITE]: 0.4, // 白色品质 40%概率 - [Quality.GREEN]: 0.3, // 绿色品质 30%概率 - [Quality.BLUE]: 0.2, // 蓝色品质 20%概率 - [Quality.PURPLE]: 0.08, // 紫色品质 8%概率 - [Quality.ORANGE]: 0.02, // 橙色品质 2%概率 -} - -// 强化选项配置表 -export const EnhancementOptions = { - // 攻击力强化选项 - [EnhancementType.ATTACK]: { - [Quality.WHITE]: { - name: "力量训练", - description: "攻击力 +5", - buffType: BuffAttr.ATK, - value: 5, - icon: "attack_white", - rarity: "common" - }, - [Quality.GREEN]: { - name: "武器精通", - description: "攻击力 +12", - buffType: BuffAttr.ATK, - value: 12, - icon: "attack_green", - rarity: "uncommon" - }, - [Quality.BLUE]: { - name: "战斗大师", - description: "攻击力 +20", - buffType: BuffAttr.ATK, - value: 20, - icon: "attack_blue", - rarity: "rare" - }, - [Quality.PURPLE]: { - name: "战神附体", - description: "攻击力 +35", - buffType: BuffAttr.ATK, - value: 35, - icon: "attack_purple", - rarity: "epic" - }, - [Quality.ORANGE]: { - name: "毁灭之力", - description: "攻击力 +50", - buffType: BuffAttr.ATK, - value: 50, - icon: "attack_orange", - rarity: "legendary" - } - }, - - // 生命值强化选项 - [EnhancementType.HEALTH]: { - [Quality.WHITE]: { - name: "体质增强", - description: "生命值 +10", - buffType: BuffAttr.HP, - value: 10, - icon: "health_white", - rarity: "common" - }, - [Quality.GREEN]: { - name: "生命源泉", - description: "生命值 +25", - buffType: BuffAttr.HP, - value: 25, - icon: "health_green", - rarity: "uncommon" - }, - [Quality.BLUE]: { - name: "不朽之躯", - description: "生命值 +40", - buffType: BuffAttr.HP, - value: 40, - icon: "health_blue", - rarity: "rare" - }, - [Quality.PURPLE]: { - name: "永恒生命", - description: "生命值 +65", - buffType: BuffAttr.HP, - value: 65, - icon: "health_purple", - rarity: "epic" - }, - [Quality.ORANGE]: { - name: "不死之身", - description: "生命值 +100", - buffType: BuffAttr.HP, - value: 100, - icon: "health_orange", - rarity: "legendary" - } - }, - - // 攻击速度强化选项 - [EnhancementType.ATTACK_SPEED]: { - [Quality.WHITE]: { - name: "快速出手", - description: "攻击速度 +8%", - buffType: BuffAttr.ATK_CD, - value: -8, // 负值表示减少CD,即提升攻击速度 - icon: "speed_white", - rarity: "common" - }, - [Quality.GREEN]: { - name: "疾风连击", - description: "攻击速度 +15%", - buffType: BuffAttr.ATK_CD, - value: -15, - icon: "speed_green", - rarity: "uncommon" - }, - [Quality.BLUE]: { - name: "闪电打击", - description: "攻击速度 +25%", - buffType: BuffAttr.ATK_CD, - value: -25, - icon: "speed_blue", - rarity: "rare" - }, - [Quality.PURPLE]: { - name: "时间加速", - description: "攻击速度 +40%", - buffType: BuffAttr.ATK_CD, - value: -40, - icon: "speed_purple", - rarity: "epic" - }, - [Quality.ORANGE]: { - name: "无限连击", - description: "攻击速度 +60%", - buffType: BuffAttr.ATK_CD, - value: -60, - icon: "speed_orange", - rarity: "legendary" - } - }, - - // 暴击率强化选项 - [EnhancementType.CRITICAL]: { - [Quality.WHITE]: { - name: "精准打击", - description: "暴击率 +5%", - buffType: BuffAttr.CRITICAL, - value: 5, - icon: "crit_white", - rarity: "common" - }, - [Quality.GREEN]: { - name: "致命瞄准", - description: "暴击率 +12%", - buffType: BuffAttr.CRITICAL, - value: 12, - icon: "crit_green", - rarity: "uncommon" - }, - [Quality.BLUE]: { - name: "弱点洞察", - description: "暴击率 +20%", - buffType: BuffAttr.CRITICAL, - value: 20, - icon: "crit_blue", - rarity: "rare" - }, - [Quality.PURPLE]: { - name: "必杀一击", - description: "暴击率 +30%", - buffType: BuffAttr.CRITICAL, - value: 30, - icon: "crit_purple", - rarity: "epic" - }, - [Quality.ORANGE]: { - name: "绝对暴击", - description: "暴击率 +45%", - buffType: BuffAttr.CRITICAL, - value: 45, - icon: "crit_orange", - rarity: "legendary" - } - }, - - // 暴击伤害强化选项 - [EnhancementType.CRITICAL_DMG]: { - [Quality.WHITE]: { - name: "重击训练", - description: "暴击伤害 +15%", - buffType: BuffAttr.CRITICAL_DMG, - value: 15, - icon: "critdmg_white", - rarity: "common" - }, - [Quality.GREEN]: { - name: "致命一击", - description: "暴击伤害 +25%", - buffType: BuffAttr.CRITICAL_DMG, - value: 25, - icon: "critdmg_green", - rarity: "uncommon" - }, - [Quality.BLUE]: { - name: "毁灭打击", - description: "暴击伤害 +40%", - buffType: BuffAttr.CRITICAL_DMG, - value: 40, - icon: "critdmg_blue", - rarity: "rare" - }, - [Quality.PURPLE]: { - name: "死亡之舞", - description: "暴击伤害 +60%", - buffType: BuffAttr.CRITICAL_DMG, - value: 60, - icon: "critdmg_purple", - rarity: "epic" - }, - [Quality.ORANGE]: { - name: "终结一击", - description: "暴击伤害 +100%", - buffType: BuffAttr.CRITICAL_DMG, - value: 100, - icon: "critdmg_orange", - rarity: "legendary" - } - }, - - // 闪避率强化选项 - [EnhancementType.DODGE]: { - [Quality.WHITE]: { - name: "灵活身法", - description: "闪避率 +5%", - buffType: BuffAttr.DODGE, - value: 5, - icon: "dodge_white", - rarity: "common" - }, - [Quality.GREEN]: { - name: "鬼魅步法", - description: "闪避率 +12%", - buffType: BuffAttr.DODGE, - value: 12, - icon: "dodge_green", - rarity: "uncommon" - }, - [Quality.BLUE]: { - name: "幻影迷踪", - description: "闪避率 +20%", - buffType: BuffAttr.DODGE, - value: 20, - icon: "dodge_blue", - rarity: "rare" - }, - [Quality.PURPLE]: { - name: "时空闪避", - description: "闪避率 +30%", - buffType: BuffAttr.DODGE, - value: 30, - icon: "dodge_purple", - rarity: "epic" - }, - [Quality.ORANGE]: { - name: "绝对闪避", - description: "闪避率 +45%", - buffType: BuffAttr.DODGE, - value: 45, - icon: "dodge_orange", - rarity: "legendary" - } - }, - - // 防御力强化选项 - [EnhancementType.DEFENSE]: { - [Quality.WHITE]: { - name: "铁布衫", - description: "防御力 +8%", - buffType: BuffAttr.DEF, - value: 8, - icon: "def_white", - rarity: "common" - }, - [Quality.GREEN]: { - name: "金刚不坏", - description: "防御力 +15%", - buffType: BuffAttr.DEF, - value: 15, - icon: "def_green", - rarity: "uncommon" - }, - [Quality.BLUE]: { - name: "护体神功", - description: "防御力 +25%", - buffType: BuffAttr.DEF, - value: 25, - icon: "def_blue", - rarity: "rare" - }, - [Quality.PURPLE]: { - name: "无敌金身", - description: "防御力 +40%", - buffType: BuffAttr.DEF, - value: 40, - icon: "def_purple", - rarity: "epic" - }, - [Quality.ORANGE]: { - name: "绝对防御", - description: "防御力 +60%", - buffType: BuffAttr.DEF, - value: 60, - icon: "def_orange", - rarity: "legendary" - } - }, - - // 技能冷却强化选项 - [EnhancementType.SKILL_CD]: { - [Quality.WHITE]: { - name: "快速施法", - description: "技能冷却 -8%", - buffType: BuffAttr.SKILL_CD, - value: -8, - icon: "skillcd_white", - rarity: "common" - }, - [Quality.GREEN]: { - name: "法术精通", - description: "技能冷却 -15%", - buffType: BuffAttr.SKILL_CD, - value: -15, - icon: "skillcd_green", - rarity: "uncommon" - }, - [Quality.BLUE]: { - name: "瞬发法术", - description: "技能冷却 -25%", - buffType: BuffAttr.SKILL_CD, - value: -25, - icon: "skillcd_blue", - rarity: "rare" - }, - [Quality.PURPLE]: { - name: "无限法术", - description: "技能冷却 -40%", - buffType: BuffAttr.SKILL_CD, - value: -40, - icon: "skillcd_purple", - rarity: "epic" - }, - [Quality.ORANGE]: { - name: "法术永动", - description: "技能冷却 -60%", - buffType: BuffAttr.SKILL_CD, - value: -60, - icon: "skillcd_orange", - rarity: "legendary" - } - }, - - // 技能伤害强化选项 - [EnhancementType.SKILL_DMG]: { - [Quality.WHITE]: { - name: "法术强化", - description: "技能伤害 +10%", - buffType: BuffAttr.SKILL_DMG, - value: 10, - icon: "skilldmg_white", - rarity: "common" - }, - [Quality.GREEN]: { - name: "法术增幅", - description: "技能伤害 +20%", - buffType: BuffAttr.SKILL_DMG, - value: 20, - icon: "skilldmg_green", - rarity: "uncommon" - }, - [Quality.BLUE]: { - name: "法术爆发", - description: "技能伤害 +35%", - buffType: BuffAttr.SKILL_DMG, - value: 35, - icon: "skilldmg_blue", - rarity: "rare" - }, - [Quality.PURPLE]: { - name: "法术毁灭", - description: "技能伤害 +55%", - buffType: BuffAttr.SKILL_DMG, - value: 55, - icon: "skilldmg_purple", - rarity: "epic" - }, - [Quality.ORANGE]: { - name: "法术终结", - description: "技能伤害 +80%", - buffType: BuffAttr.SKILL_DMG, - value: 80, - icon: "skilldmg_orange", - rarity: "legendary" - } - }, - - // 特殊效果强化选项 - [EnhancementType.SPECIAL]: { - [Quality.WHITE]: { - name: "风怒之力", - description: "攻击时有10%概率触发风怒", - buffType: BuffAttr.WFUNY, - value: 10, - icon: "special_white", - rarity: "common" - }, - [Quality.GREEN]: { - name: "穿刺箭矢", - description: "攻击穿透1个额外目标", - buffType: BuffAttr.PUNCTURE, - value: 1, - icon: "special_green", - rarity: "uncommon" - }, - [Quality.BLUE]: { - name: "冰冻打击", - description: "攻击有15%概率冰冻敌人", - buffType: BuffAttr.FROST_RATIO, - value: 15, - icon: "special_blue", - rarity: "rare" - }, - [Quality.PURPLE]: { - name: "眩晕重击", - description: "攻击有20%概率眩晕敌人", - buffType: BuffAttr.STUN_RATTO, - value: 20, - icon: "special_purple", - rarity: "epic" - }, - [Quality.ORANGE]: { - name: "多重打击", - description: "攻击穿透2个额外目标,伤害提升30%", - buffType: BuffAttr.PUNCTURE, - value: 2, - icon: "special_orange", - rarity: "legendary" - } - } -} - -// 强化选项接口定义 -export interface EnhancementOption { - name: string; - description: string; - buffType: number; - value: number; - icon: string; - rarity: string; -} - -// 获取随机强化选项 -export function getRandomEnhancementOptions(count: number = 3): EnhancementOption[] { - const options: EnhancementOption[] = []; - const enhancementTypes = Object.values(EnhancementType); - - // 随机选择强化类型 - const selectedTypes = []; - while (selectedTypes.length < count && enhancementTypes.length > 0) { - const randomIndex = Math.floor(Math.random() * enhancementTypes.length); - const type = enhancementTypes.splice(randomIndex, 1)[0]; - selectedTypes.push(type); - } - - // 为每个类型生成随机品质的选项 - selectedTypes.forEach(type => { - const quality = getRandomQuality(); - const option = EnhancementOptions[type]?.[quality]; - if (option) { - options.push(option); - } - }); - - return options; -} - -// 根据权重获取随机品质 -export function getRandomQuality(): number { - const random = Math.random(); - let cumulativeWeight = 0; - - for (const [quality, weight] of Object.entries(EnhancementQualityWeight)) { - cumulativeWeight += weight; - if (random <= cumulativeWeight) { - return parseInt(quality); - } - } - - return Quality.WHITE; // 默认返回白色品质 -} - -// 获取指定类型的强化选项(用于测试或特定需求) -export function getEnhancementOptionByType(type: number, quality: number): EnhancementOption | null { - return EnhancementOptions[type]?.[quality] || null; -} - -// 获取所有可用的强化类型 -export function getAllEnhancementTypes(): number[] { - return Object.values(EnhancementType); -} - -// 获取指定品质的所有强化选项 -export function getEnhancementOptionsByQuality(quality: number): EnhancementOption[] { - const options: EnhancementOption[] = []; - - for (const type of Object.values(EnhancementType)) { - const option = EnhancementOptions[type]?.[quality]; - if (option) { - options.push(option); - } - } - - return options; -} - -// 根据玩家等级调整强化选项(可选功能) -export function getLevelAdjustedEnhancementOptions(playerLevel: number, count: number = 3): EnhancementOption[] { - // 根据等级调整品质权重 - const levelAdjustedWeights = { ...EnhancementQualityWeight }; - - if (playerLevel >= 20) { - // 高等级玩家有更高概率获得稀有品质 - levelAdjustedWeights[Quality.WHITE] *= 0.8; - levelAdjustedWeights[Quality.GREEN] *= 1.1; - levelAdjustedWeights[Quality.BLUE] *= 1.2; - levelAdjustedWeights[Quality.PURPLE] *= 1.3; - levelAdjustedWeights[Quality.ORANGE] *= 1.5; - } - - // 重新归一化权重 - const totalWeight = Object.values(levelAdjustedWeights).reduce((sum, weight) => sum + weight, 0); - for (const quality in levelAdjustedWeights) { - levelAdjustedWeights[quality] /= totalWeight; - } - - // 使用调整后的权重生成选项 - const options: EnhancementOption[] = []; - const enhancementTypes = Object.values(EnhancementType); - - const selectedTypes = []; - while (selectedTypes.length < count && enhancementTypes.length > 0) { - const randomIndex = Math.floor(Math.random() * enhancementTypes.length); - const type = enhancementTypes.splice(randomIndex, 1)[0]; - selectedTypes.push(type); - } - - selectedTypes.forEach(type => { - const quality = getRandomQualityWithWeights(levelAdjustedWeights); - const option = EnhancementOptions[type]?.[quality]; - if (option) { - options.push(option); - } - }); - - return options; -} - -// 使用自定义权重获取随机品质 -function getRandomQualityWithWeights(weights: { [key: number]: number }): number { - const random = Math.random(); - let cumulativeWeight = 0; - - for (const [quality, weight] of Object.entries(weights)) { - cumulativeWeight += weight; - if (random <= cumulativeWeight) { - return parseInt(quality); - } - } - - return Quality.WHITE; -} \ No newline at end of file diff --git a/assets/script/game/common/config/LevelUpEnhancementExample.ts b/assets/script/game/common/config/LevelUpEnhancementExample.ts deleted file mode 100644 index 8cdec710..00000000 --- a/assets/script/game/common/config/LevelUpEnhancementExample.ts +++ /dev/null @@ -1,258 +0,0 @@ -/* - * 肉鸽游戏玩家升级强化系统使用示例 - * 展示如何在游戏中使用强化选项配置 - */ - -import { - getRandomEnhancementOptions, - getLevelAdjustedEnhancementOptions, - getEnhancementOptionByType, - EnhancementType, - EnhancementOption -} from "./LevelUpEnhancement" -import { BuffAttr } from "./SkillSet" -import { Quality } from "./CardSet" - -// 强化管理器类 -export class EnhancementManager { - private playerLevel: number = 1; - private appliedEnhancements: EnhancementOption[] = []; - - constructor(initialLevel: number = 1) { - this.playerLevel = initialLevel; - } - - // 玩家升级时调用,获取强化选项 - onPlayerLevelUp(): EnhancementOption[] { - console.log(`[EnhancementManager]: 玩家升级到 ${this.playerLevel + 1} 级,获取强化选项`); - - // 根据玩家等级获取调整后的强化选项 - const options = getLevelAdjustedEnhancementOptions(this.playerLevel + 1, 3); - - console.log(`[EnhancementManager]: 获得 ${options.length} 个强化选项:`, options); - return options; - } - - // 应用选中的强化选项 - applyEnhancement(option: EnhancementOption): boolean { - console.log(`[EnhancementManager]: 应用强化选项: ${option.name}`); - - // 记录应用的强化 - this.appliedEnhancements.push(option); - - // 根据强化类型应用对应的属性加成 - this.applyBuffToPlayer(option); - - return true; - } - - // 将强化效果应用到玩家属性 - private applyBuffToPlayer(option: EnhancementOption): void { - const buffType = option.buffType; - const value = option.value; - - console.log(`[EnhancementManager]: 应用Buff - 类型: ${buffType}, 数值: ${value}`); - - // 这里应该调用游戏中的属性系统来实际应用效果 - // 例如:dispatchEvent 到游戏事件系统 - this.dispatchEnhancementEvent(buffType, value); - } - - // 分发强化事件到游戏系统 - private dispatchEnhancementEvent(buffType: number, value: number): void { - // 这里应该调用游戏的事件系统 - // 例如:oops.message.dispatchEvent('EnhancementApplied', { buffType, value }); - console.log(`[EnhancementManager]: 分发强化事件 - buffType: ${buffType}, value: ${value}`); - } - - // 获取玩家当前等级 - getPlayerLevel(): number { - return this.playerLevel; - } - - // 设置玩家等级 - setPlayerLevel(level: number): void { - this.playerLevel = level; - } - - // 获取已应用的强化列表 - getAppliedEnhancements(): EnhancementOption[] { - return this.appliedEnhancements; - } - - // 获取特定类型的强化统计 - getEnhancementStats(): { [key: number]: number } { - const stats: { [key: number]: number } = {}; - - this.appliedEnhancements.forEach(enhancement => { - const buffType = enhancement.buffType; - if (!stats[buffType]) { - stats[buffType] = 0; - } - stats[buffType] += enhancement.value; - }); - - return stats; - } - - // 重置强化管理器 - reset(): void { - this.appliedEnhancements = []; - console.log("[EnhancementManager]: 强化管理器已重置"); - } -} - -// 强化UI管理器示例 -export class EnhancementUIManager { - private enhancementManager: EnhancementManager; - - constructor(enhancementManager: EnhancementManager) { - this.enhancementManager = enhancementManager; - } - - // 显示升级强化选择界面 - showLevelUpEnhancementUI(): void { - console.log("[EnhancementUIManager]: 显示升级强化选择界面"); - - // 获取强化选项 - const options = this.enhancementManager.onPlayerLevelUp(); - - // 这里应该显示UI界面,让玩家选择 - this.displayEnhancementOptions(options); - } - - // 显示强化选项 - private displayEnhancementOptions(options: EnhancementOption[]): void { - console.log("[EnhancementUIManager]: 显示强化选项:"); - - options.forEach((option, index) => { - console.log(`选项 ${index + 1}: ${option.name} - ${option.description} (${option.rarity})`); - }); - } - - // 处理玩家选择 - onPlayerSelectOption(optionIndex: number, options: EnhancementOption[]): void { - if (optionIndex >= 0 && optionIndex < options.length) { - const selectedOption = options[optionIndex]; - console.log(`[EnhancementUIManager]: 玩家选择了: ${selectedOption.name}`); - - // 应用选中的强化 - this.enhancementManager.applyEnhancement(selectedOption); - - // 关闭UI界面 - this.hideEnhancementUI(); - } - } - - // 隐藏强化UI - private hideEnhancementUI(): void { - console.log("[EnhancementUIManager]: 隐藏强化选择界面"); - } -} - -// 使用示例 -export function createEnhancementExample(): void { - console.log("=== 肉鸽游戏强化系统使用示例 ==="); - - // 创建强化管理器 - const enhancementManager = new EnhancementManager(5); - - // 创建UI管理器 - const uiManager = new EnhancementUIManager(enhancementManager); - - // 模拟玩家升级 - console.log("\n--- 模拟玩家升级 ---"); - enhancementManager.setPlayerLevel(10); - uiManager.showLevelUpEnhancementUI(); - - // 模拟玩家选择强化选项 - console.log("\n--- 模拟玩家选择强化选项 ---"); - const options = getRandomEnhancementOptions(3); - uiManager.onPlayerSelectOption(0, options); - - // 显示强化统计 - console.log("\n--- 强化统计 ---"); - const stats = enhancementManager.getEnhancementStats(); - console.log("当前强化统计:", stats); - - // 测试特定强化选项 - console.log("\n--- 测试特定强化选项 ---"); - const attackOption = getEnhancementOptionByType(EnhancementType.ATTACK, Quality.BLUE); - if (attackOption) { - console.log("获取攻击力强化选项:", attackOption); - enhancementManager.applyEnhancement(attackOption); - } - - // 显示最终统计 - console.log("\n--- 最终强化统计 ---"); - const finalStats = enhancementManager.getEnhancementStats(); - console.log("最终强化统计:", finalStats); -} - -// 强化选项预览工具 -export class EnhancementPreviewTool { - // 预览所有强化选项 - static previewAllEnhancements(): void { - console.log("=== 所有强化选项预览 ==="); - - const types = [ - { name: "攻击力", type: EnhancementType.ATTACK }, - { name: "生命值", type: EnhancementType.HEALTH }, - { name: "攻击速度", type: EnhancementType.ATTACK_SPEED }, - { name: "暴击率", type: EnhancementType.CRITICAL }, - { name: "暴击伤害", type: EnhancementType.CRITICAL_DMG }, - { name: "闪避率", type: EnhancementType.DODGE }, - { name: "防御力", type: EnhancementType.DEFENSE }, - { name: "技能冷却", type: EnhancementType.SKILL_CD }, - { name: "技能伤害", type: EnhancementType.SKILL_DMG }, - { name: "特殊效果", type: EnhancementType.SPECIAL } - ]; - - types.forEach(({ name, type }) => { - console.log(`\n--- ${name}强化选项 ---`); - const qualities = [Quality.WHITE, Quality.GREEN, Quality.BLUE, Quality.PURPLE, Quality.ORANGE]; - qualities.forEach(quality => { - const option = getEnhancementOptionByType(type, quality); - if (option) { - console.log(`${option.rarity}: ${option.name} - ${option.description}`); - } - }); - }); - } - - // 测试随机强化选项生成 - static testRandomGeneration(): void { - console.log("\n=== 测试随机强化选项生成 ==="); - - for (let i = 0; i < 5; i++) { - console.log(`\n第 ${i + 1} 次随机生成:`); - const options = getRandomEnhancementOptions(3); - options.forEach((option, index) => { - console.log(` 选项 ${index + 1}: ${option.name} (${option.rarity}) - ${option.description}`); - }); - } - } - - // 测试等级调整功能 - static testLevelAdjustment(): void { - console.log("\n=== 测试等级调整功能 ==="); - - const levels = [1, 10, 20, 30]; - levels.forEach(level => { - console.log(`\n玩家等级 ${level} 的强化选项:`); - const options = getLevelAdjustedEnhancementOptions(level, 3); - options.forEach((option, index) => { - console.log(` 选项 ${index + 1}: ${option.name} (${option.rarity}) - ${option.description}`); - }); - }); - } -} - -// 导出使用示例函数 -export function runEnhancementExamples(): void { - // 运行所有示例 - createEnhancementExample(); - EnhancementPreviewTool.previewAllEnhancements(); - EnhancementPreviewTool.testRandomGeneration(); - EnhancementPreviewTool.testLevelAdjustment(); -} \ No newline at end of file diff --git a/assets/script/game/common/config/README_LevelUpEnhancement.md b/assets/script/game/common/config/README_LevelUpEnhancement.md deleted file mode 100644 index 467f6fdd..00000000 --- a/assets/script/game/common/config/README_LevelUpEnhancement.md +++ /dev/null @@ -1,310 +0,0 @@ -# 肉鸽游戏玩家升级强化系统 - -## 概述 - -这是一个为肉鸽游戏设计的玩家升级强化选项配置系统。当玩家升级时,系统会提供多个强化选项供玩家选择,每个选项都会永久提升玩家的某项属性。 - -## 系统特性 - -### 1. 强化类型 -系统支持以下10种强化类型: -- **攻击力强化** - 提升基础攻击力 -- **生命值强化** - 提升最大生命值 -- **攻击速度强化** - 减少攻击冷却时间 -- **暴击率强化** - 提升暴击概率 -- **暴击伤害强化** - 提升暴击伤害倍率 -- **闪避率强化** - 提升闪避概率 -- **防御力强化** - 提升伤害减免 -- **技能冷却强化** - 减少技能冷却时间 -- **技能伤害强化** - 提升技能伤害 -- **特殊效果强化** - 提供特殊战斗效果 - -### 2. 品质系统 -每个强化类型都有5个品质等级: -- **白色 (Common)** - 40% 出现概率,基础强化 -- **绿色 (Uncommon)** - 30% 出现概率,中等强化 -- **蓝色 (Rare)** - 20% 出现概率,强力强化 -- **紫色 (Epic)** - 8% 出现概率,史诗强化 -- **橙色 (Legendary)** - 2% 出现概率,传说强化 - -### 3. 等级调整 -系统会根据玩家等级自动调整强化选项的品质分布: -- 低等级玩家:偏向基础品质 -- 高等级玩家(20级以上):更高概率获得稀有品质 - -## 文件结构 - -``` -assets/script/game/common/config/ -├── LevelUpEnhancement.ts # 核心强化配置 -├── LevelUpEnhancementExample.ts # 使用示例 -└── README_LevelUpEnhancement.md # 本文档 -``` - -## 使用方法 - -### 1. 基础使用 - -```typescript -import { - getRandomEnhancementOptions, - EnhancementType, - Quality -} from "./LevelUpEnhancement" - -// 获取3个随机强化选项 -const options = getRandomEnhancementOptions(3); - -// 获取指定类型和品质的强化选项 -const attackOption = getEnhancementOptionByType(EnhancementType.ATTACK, Quality.BLUE); -``` - -### 2. 等级调整使用 - -```typescript -import { getLevelAdjustedEnhancementOptions } from "./LevelUpEnhancement" - -// 根据玩家等级获取调整后的强化选项 -const playerLevel = 25; -const options = getLevelAdjustedEnhancementOptions(playerLevel, 3); -``` - -### 3. 完整管理器使用 - -```typescript -import { EnhancementManager, EnhancementUIManager } from "./LevelUpEnhancementExample" - -// 创建强化管理器 -const enhancementManager = new EnhancementManager(1); - -// 创建UI管理器 -const uiManager = new EnhancementUIManager(enhancementManager); - -// 玩家升级时 -enhancementManager.setPlayerLevel(10); -const options = enhancementManager.onPlayerLevelUp(); - -// 玩家选择强化选项 -uiManager.onPlayerSelectOption(0, options); -``` - -## 强化选项配置 - -### 攻击力强化示例 -```typescript -[EnhancementType.ATTACK]: { - [Quality.WHITE]: { - name: "力量训练", - description: "攻击力 +5", - buffType: BuffAttr.ATK, - value: 5, - icon: "attack_white", - rarity: "common" - }, - [Quality.BLUE]: { - name: "战斗大师", - description: "攻击力 +20", - buffType: BuffAttr.ATK, - value: 20, - icon: "attack_blue", - rarity: "rare" - } - // ... 其他品质 -} -``` - -### 攻击速度强化示例 -```typescript -[EnhancementType.ATTACK_SPEED]: { - [Quality.GREEN]: { - name: "疾风连击", - description: "攻击速度 +15%", - buffType: BuffAttr.ATK_CD, - value: -15, // 负值表示减少CD - icon: "speed_green", - rarity: "uncommon" - } -} -``` - -## 强化数值参考 - -### 攻击力强化 -- 白色: +5 攻击力 -- 绿色: +12 攻击力 -- 蓝色: +20 攻击力 -- 紫色: +35 攻击力 -- 橙色: +50 攻击力 - -### 生命值强化 -- 白色: +10 生命值 -- 绿色: +25 生命值 -- 蓝色: +40 生命值 -- 紫色: +65 生命值 -- 橙色: +100 生命值 - -### 攻击速度强化 -- 白色: +8% 攻击速度 -- 绿色: +15% 攻击速度 -- 蓝色: +25% 攻击速度 -- 紫色: +40% 攻击速度 -- 橙色: +60% 攻击速度 - -## 集成到现有系统 - -### 1. 与英雄系统集成 - -```typescript -// 在HeroViewComp.ts的to_update方法中添加 -to_update() { - - // 原有的升级逻辑 - oops.message.dispatchEvent(GameEvent.HeroLvUp,{lv:this.lv}) - this.lv+=1 - this.next_exp=getUpExp(this.lv) - - // 新增:触发强化选择 - this.triggerEnhancementSelection(); -} - -private triggerEnhancementSelection() { - const options = getLevelAdjustedEnhancementOptions(this.lv, 3); - // 显示强化选择UI - oops.message.dispatchEvent('ShowEnhancementUI', { options }); -} -``` - -### 2. 与事件系统集成 - -```typescript -// 监听强化选择事件 -this.on('EnhancementSelected', this.onEnhancementSelected, this); - -private onEnhancementSelected(option: EnhancementOption) { - // 应用强化效果 - this.applyEnhancement(option); -} - -private applyEnhancement(option: EnhancementOption) { - switch(option.buffType) { - case BuffAttr.ATK: - this.ap = this.ap * (100 + option.value) / 100; - break; - case BuffAttr.HP: - this.hp_max = this.hp_max * (100 + option.value) / 100; - this.hp = this.hp_max; // 升级时回满血 - break; - case BuffAttr.ATK_CD: - this.cd = this.cd * (100 + option.value) / 100; - break; - // ... 其他属性 - } -} -``` - -## 扩展功能 - -### 1. 添加新的强化类型 - -```typescript -// 在EnhancementType中添加新类型 -export const EnhancementType = { - // ... 现有类型 - NEW_TYPE: 11, // 新强化类型 -} - -// 在EnhancementOptions中添加配置 -export const EnhancementOptions = { - // ... 现有配置 - [EnhancementType.NEW_TYPE]: { - [Quality.WHITE]: { - name: "新强化", - description: "新效果", - buffType: BuffAttr.NEW_BUFF, - value: 10, - icon: "new_white", - rarity: "common" - } - // ... 其他品质 - } -} -``` - -### 2. 自定义品质权重 - -```typescript -// 修改品质权重 -export const CustomQualityWeight = { - [Quality.WHITE]: 0.5, // 提高白色品质概率 - [Quality.GREEN]: 0.25, - [Quality.BLUE]: 0.15, - [Quality.PURPLE]: 0.08, - [Quality.ORANGE]: 0.02, -} -``` - -### 3. 条件强化 - -```typescript -// 根据游戏状态调整强化选项 -export function getConditionalEnhancementOptions( - playerLevel: number, - gameState: any, - count: number = 3 -): EnhancementOption[] { - let options = getLevelAdjustedEnhancementOptions(playerLevel, count); - - // 根据游戏状态过滤或调整选项 - if (gameState.isBossFight) { - // Boss战中提供更多防御选项 - options = options.filter(option => - option.buffType === BuffAttr.DEF || - option.buffType === BuffAttr.HP - ); - } - - return options; -} -``` - -## 测试和调试 - -### 1. 运行示例 - -```typescript -import { runEnhancementExamples } from "./LevelUpEnhancementExample" - -// 运行所有示例 -runEnhancementExamples(); -``` - -### 2. 预览所有选项 - -```typescript -import { EnhancementPreviewTool } from "./LevelUpEnhancementExample" - -// 预览所有强化选项 -EnhancementPreviewTool.previewAllEnhancements(); - -// 测试随机生成 -EnhancementPreviewTool.testRandomGeneration(); - -// 测试等级调整 -EnhancementPreviewTool.testLevelAdjustment(); -``` - -## 注意事项 - -1. **数值平衡**: 强化数值需要根据游戏整体平衡进行调整 -2. **UI集成**: 需要创建相应的UI界面来显示强化选项 -3. **数据持久化**: 强化效果需要保存到玩家数据中 -4. **兼容性**: 确保与现有的Buff系统兼容 -5. **测试**: 充分测试各种强化组合的效果 - -## 更新日志 - -- **v1.0.0**: 初始版本,包含基础强化系统 -- 支持10种强化类型 -- 支持5个品质等级 -- 支持等级调整功能 -- 提供完整的使用示例和工具 \ No newline at end of file