移除魔法攻击(MAP)、魔法防御(MDEF)、元素抗性等冗余属性 将伤害减免统一由DEF属性处理,重命名CRITICAL_RESIST为CRITICAL_RES 更新相关技能、天赋和怪物配置以适应新的属性系统 删除未使用的职业成长系数配置和基础属性映射逻辑
2.1 KiB
2.1 KiB
目标
- 新增一个“生效属性配置文件”,集中声明超休闲塔防要启用的属性键,供系统与 UI 快速判断哪些属性参与计算与展示。
文件位置
assets/script/game/common/config/TDEnabledAttrs.ts
内容结构
- 引用
HeroAttrs.ts的Attrs枚举。 - 导出两类集合:
- 核心启用集合
TD_ENABLED_ATTRS(ReadonlySet) - 轻度可选集合
TD_OPTIONAL_ATTRS(ReadonlySet)
- 核心启用集合
- 额外导出
TD_ATTR_GROUPS(用于 UI 分组展示,非必需)。
初始启用键(核心)
- 塔/英雄输出:
AP、AS、DIS、PIERCE - 爽点:
CRITICAL、CRITICAL_DMG - 敌人生存:
HP_MAX、DEF
轻度可选键(后续可开关)
- 控制:
SLOW_CHANCE(或改为STUN_CHANCE) - 经济:
GOLD_GAIN - 精英修正:
DMG_RED
计划代码(示例)
// 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.PUNCTURE,
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.PUNCTURE],
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,我会在提交前同步调整。