feat(塔防): 添加属性配置和等级成长系统

添加塔防生效属性配置文件 TDEnabledAttrs.ts,集中管理游戏属性
实现塔防等级成长系统 TDLevelOptions.ts,包含1-20级强化配置
调整数值平衡,除AP/HP_MAX外所有属性强度减半
This commit is contained in:
walkpan
2025-12-25 20:55:49 +08:00
parent 96d72599b5
commit 8eedc2b4dd
4 changed files with 344 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
## 目标
- 新增一个“生效属性配置文件”,集中声明超休闲塔防要启用的属性键,供系统与 UI 快速判断哪些属性参与计算与展示。
## 文件位置
- `assets/script/game/common/config/TDEnabledAttrs.ts`
## 内容结构
- 引用 `HeroAttrs.ts``Attrs` 枚举。
- 导出两类集合:
- 核心启用集合 `TD_ENABLED_ATTRS`ReadonlySet<Attrs>
- 轻度可选集合 `TD_OPTIONAL_ATTRS`ReadonlySet<Attrs>
- 额外导出 `TD_ATTR_GROUPS`(用于 UI 分组展示,非必需)。
## 初始启用键(核心)
- 塔/英雄输出:`AP``AS``DIS``PIERCE`
- 爽点:`CRITICAL``CRITICAL_DMG`
- 敌人生存:`HP_MAX``DEF`
## 轻度可选键(后续可开关)
- 控制:`SLOW_CHANCE`(或改为 `STUN_CHANCE`
- 经济:`GOLD_GAIN`
- 精英修正:`DMG_RED`
## 计划代码(示例)
```ts
// assets/script/game/common/config/TDEnabledAttrs.ts
import { Attrs } from "./HeroAttrs";
export const TD_ENABLED_ATTRS: ReadonlySet<Attrs> = new Set<Attrs>([
Attrs.AP,
Attrs.AS,
Attrs.DIS,
Attrs.PIERCE,
Attrs.CRITICAL,
Attrs.CRITICAL_DMG,
Attrs.HP_MAX,
Attrs.DEF,
]);
export const TD_OPTIONAL_ATTRS: ReadonlySet<Attrs> = new Set<Attrs>([
Attrs.SLOW_CHANCE,
Attrs.GOLD_GAIN,
Attrs.DMG_RED,
]);
export const TD_ATTR_GROUPS = {
towerCore: [Attrs.AP, Attrs.AS, Attrs.DIS, Attrs.PIERCE],
towerBonus: [Attrs.CRITICAL, Attrs.CRITICAL_DMG],
enemyCore: [Attrs.HP_MAX, Attrs.DEF],
optional: [Attrs.SLOW_CHANCE, Attrs.GOLD_GAIN, Attrs.DMG_RED],
} as const;
```
## 接入点(不改动逻辑,只引用)
- 计算系统:在重算或结算处通过 `TD_ENABLED_ATTRS.has(attr)` 判断展示/参与计算(不改变已有正确计算路径,只做筛选)。
- UI面板按 `TD_ATTR_GROUPS` 渲染;未启用键默认隐藏。
## 验证
- 在测试环境加载 1 个塔与 2 类敌人确认仅启用键被展示和参与战斗TTK/DPS 表现符合预期。
## 等待下一步
- 若确认上述文件结构与键集合,开始创建文件并接入引用;如需改用 `AREA_OF_EFFECT` 替代 `PIERCE` 或改为 `STUN_CHANCE`,我会在提交前同步调整。