# 肉鸽游戏玩家升级强化系统 ## 概述 这是一个为肉鸽游戏设计的玩家升级强化选项配置系统。当玩家升级时,系统会提供多个强化选项供玩家选择,每个选项都会永久提升玩家的某项属性。 ## 系统特性 ### 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个品质等级 - 支持等级调整功能 - 提供完整的使用示例和工具