7.7 KiB
7.7 KiB
肉鸽游戏玩家升级强化系统
概述
这是一个为肉鸽游戏设计的玩家升级强化选项配置系统。当玩家升级时,系统会提供多个强化选项供玩家选择,每个选项都会永久提升玩家的某项属性。
系统特性
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. 基础使用
import {
getRandomEnhancementOptions,
EnhancementType,
Quality
} from "./LevelUpEnhancement"
// 获取3个随机强化选项
const options = getRandomEnhancementOptions(3);
// 获取指定类型和品质的强化选项
const attackOption = getEnhancementOptionByType(EnhancementType.ATTACK, Quality.BLUE);
2. 等级调整使用
import { getLevelAdjustedEnhancementOptions } from "./LevelUpEnhancement"
// 根据玩家等级获取调整后的强化选项
const playerLevel = 25;
const options = getLevelAdjustedEnhancementOptions(playerLevel, 3);
3. 完整管理器使用
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);
强化选项配置
攻击力强化示例
[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"
}
// ... 其他品质
}
攻击速度强化示例
[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. 与英雄系统集成
// 在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. 与事件系统集成
// 监听强化选择事件
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. 添加新的强化类型
// 在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. 自定义品质权重
// 修改品质权重
export const CustomQualityWeight = {
[Quality.WHITE]: 0.5, // 提高白色品质概率
[Quality.GREEN]: 0.25,
[Quality.BLUE]: 0.15,
[Quality.PURPLE]: 0.08,
[Quality.ORANGE]: 0.02,
}
3. 条件强化
// 根据游戏状态调整强化选项
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. 运行示例
import { runEnhancementExamples } from "./LevelUpEnhancementExample"
// 运行所有示例
runEnhancementExamples();
2. 预览所有选项
import { EnhancementPreviewTool } from "./LevelUpEnhancementExample"
// 预览所有强化选项
EnhancementPreviewTool.previewAllEnhancements();
// 测试随机生成
EnhancementPreviewTool.testRandomGeneration();
// 测试等级调整
EnhancementPreviewTool.testLevelAdjustment();
注意事项
- 数值平衡: 强化数值需要根据游戏整体平衡进行调整
- UI集成: 需要创建相应的UI界面来显示强化选项
- 数据持久化: 强化效果需要保存到玩家数据中
- 兼容性: 确保与现有的Buff系统兼容
- 测试: 充分测试各种强化组合的效果
更新日志
- v1.0.0: 初始版本,包含基础强化系统
- 支持10种强化类型
- 支持5个品质等级
- 支持等级调整功能
- 提供完整的使用示例和工具