feat: 实现英雄局外成长系统

1. 新增GameEvent事件枚举HERO_GROWTH_UPDATE
2. 新增英雄局外升级所需碎片配置表
3. 新增英雄局外成长数据持久化与相关工具方法
4. 重构英雄卡片等级逻辑,统一使用局外成长等级
5. 更新英雄设计文档与相关注释
This commit is contained in:
pan
2026-08-17 10:01:42 +08:00
parent d34085aa04
commit 2eb4257dae
8 changed files with 98 additions and 19 deletions

View File

@@ -96,5 +96,7 @@ export enum GameEvent {
CoinFly = "CoinFly",
/** 连杀达阈值payload: { count, tier }tier 0/1/2 对应 5/10/20 连杀) */
ComboReach = "ComboReach",
/** 英雄局外成长数据变更(碎片/等级更新payload 为空UI 重新读取 smc.data.hero_growth */
HERO_GROWTH_UPDATE = "HERO_GROWTH_UPDATE",
}

View File

@@ -62,6 +62,19 @@ export enum FightSet {
REFRESH_STONE_COST = 1,
}
/**
* 英雄局外等级升级所需碎片数量key 为目标等级)。
* 查询方式HERO_UPGRADE_NEED_FRAGMENTS[growth.lv + 1],即升到下一级所需的碎片数。
* 局外等级独立于局内战斗等级,持久化保存于 smc.data.hero_growth。
*/
export const HERO_UPGRADE_NEED_FRAGMENTS: Record<number, number> = {
2: 10,
3: 20,
4: 40,
5: 80,
6: 160,
};
/**
* 技能卡牌出现的回合配置(单一数据源)。
* 数组索引 i 对应卡牌档位 card_lv = i + 1

View File

@@ -1,13 +1,9 @@
# 几何王国技能复刻设计文档
> **目的**:基于《几何王国》热门英雄技能,分析哪些可以**零代码改动**或**最小改动**复刻到本系统1 回合定生死机制)。
>
# 英雄设计文档
> **前置约束**(已确认的设计原则):
> - 局内固定 lv=1等级成长移交局外
> - 单场战斗 30 秒
> - card_lv 纯技能数量差异1~5 个技能槽)
> - 技能触发极简(`t_num=1`),高频高数值
> - 无相同能力英雄,无阵容限制
> - 局内固定(战斗开始召唤的时候同)等级成长移交局外
> - 单场战斗 30 左右
> - card_lv 角色品质1~5初始基础数值带有品质增量每升 1级都是按 20% 增量。
---
@@ -16,8 +12,6 @@
| 触发类型 | 枚举 | 语义 | 几何王国对应场景 |
|---|---|---|---|
| 战斗开始 | `SkillTriggerType.FStart` | 入场时触发 1 次 | 战吼、入场护盾 |
| 战斗结束 | `SkillTriggerType.FEnd` | 战斗胜利后触发 | 30s 短局意义弱) |
| 召唤入场 | `SkillTriggerType.Call` | 落地触发 1 次 | 登场技 |
| 死亡触发 | `SkillTriggerType.Dead` | 死亡时触发 1 次 | 亡语、遗志 |
| 攻击触发 | `SkillTriggerType.Atking` | 普攻 N 次触发 | 概率普攻特效t_num 模拟概率) |
| 受击触发 | `SkillTriggerType.Atked` | 被击 N 次触发 | 受击反击、叠甲 |