chore: 清理不再使用的设计文档和元数据文件
移除 assets/script/ 目录下不再使用的设计文档(.md)及其对应的元数据文件(.meta)。 这些文件包括游戏设计文档、技能扩展设计、天赋系统开发计划等,已不再需要维护。
This commit is contained in:
@@ -1,98 +0,0 @@
|
||||
# 游戏设计文档
|
||||
|
||||
## 游戏核心概念
|
||||
本游戏是一款单局制肉鸽(Roguelike)自走,战斗,塔防 游戏,玩家通过策略性地选择每波怪物清理后的奖励来强化自己的英雄队伍,最终挑战强大的Boss。
|
||||
|
||||
|
||||
## 战斗
|
||||
技能: 普攻技能,一般技能,必杀技能
|
||||
普攻和一般技能自动触发,必杀技能默认自动触发,可以手动触发
|
||||
|
||||
## 天赋
|
||||
风怒: 普通攻击3次后, 目标额外收到1次150%伤害
|
||||
溅射: 普通攻击3次后, 会对目标100像素外的敌人额外造成30%伤害
|
||||
|
||||
回蓝: 普通攻击3次后,恢复5%的蓝值
|
||||
回血: 普通攻击3次后, 恢复5%的生命值
|
||||
|
||||
冰封: 普通攻击3次后, 获得5%的冻结率(可叠加,触发清零) :冻结受到伤害的目标,目标无法移动和攻击(cd继续), 3秒后自动解冻
|
||||
沉默: 普通攻击3次后, 获得5%的沉默率(可叠加,触发清零) :沉默收到伤害的目标,目标一般技能和必杀技能技能cd清零
|
||||
击晕: 普通攻击3次后, 获得5%的击晕率(可叠加,触发清零) :击晕收到伤害的目标,目标无移动和cd暂停
|
||||
击退: 普通攻击3次后, 获得5%的击退率(可叠加,触发清零) :击退收到伤害的目标, cd减少5点,
|
||||
会心: 普通攻击1次后, 获得5%的暴击率(可叠加,触发清零)
|
||||
|
||||
熟练: 普通攻击10次后, 获得下2次一般技能触发2次
|
||||
|
||||
反击: 被攻击3次后, 给于目标50%的伤害
|
||||
护盾: 被攻击3次后,获得20%生命值护盾
|
||||
减伤: 被攻击3次后,下1次伤害减50%
|
||||
|
||||
背水: 每失去50%生命值,获得下10次普通攻击暴击
|
||||
|
||||
勤勉: 每升1级,获得下5次技能暴击
|
||||
|
||||
## 特殊状态说明
|
||||
冰封: 目标无法移动和攻击(cd继续), 3秒后自动解冻
|
||||
沉默: 目标一般技能和必杀技能技能cd清零
|
||||
击晕: 目标无移动和cd暂停
|
||||
击退: 后退15像素,cd减少5点,
|
||||
|
||||
## 非关键成长三选一(示例池)
|
||||
用于非关键的成长选项,提供小步稳定增益,不抢关键天赋存在感。数值为建议区间,可按实际平衡调整。
|
||||
|
||||
| 组别 | 选项A | 选项B | 选项C | 推荐数值范围 | 阶段建议 | 说明 |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| 基础属性(点数) | 力量 +3 | 智力 +3 | 敏捷 +3 | +3 点 | 全阶段 | 走职业系数转化,稳定推动 HP/AP/MAP/AS 等 |
|
||||
| 攻速系 | 攻速(AS) +10% | 技速(SS) +10% | 移速(SPEED) +8% | +8–12% | 中期 | 普攻/技能循环提速,维持心流 |
|
||||
| 暴击系 | 暴击率(CRITICAL) +10% | 暴伤(CRITICAL_DMG) +15% | 命中(HIT) +8% | +8–15% | 中后期 | 命中稳态配合暴击上限,防过度摇摆 |
|
||||
| 射击系 | 攻击距离(DIS) +10% | 作用范围(AOE) +10% | 穿透(PIERCE) +1 | +8–12% / +1 | 中期 | 影响站位与清杂效率,PIERCE建议≤2 |
|
||||
| 生存上限 | 生命上限(HP_MAX) +10% | 护盾上限(SHIELD_MAX) +12% | 生命回复(HP_REGEN) +15% | +10–15% | 早期 | 提升容错,抗压波次优先出现 |
|
||||
| 防御姿态 | 闪避(DODGE) +8% | 格挡(BLOCK) +10% | 减伤(DMG_RED) +10% | +8–10% | 中期 | 三防不叠加过猛,设软上限 50–60% |
|
||||
| 元素抗性 | 冰抗(ICE_RES) +12% | 火抗(FIRE_RES) +12% | 风抗(WIND_RES) +12% | +10–12% | 中后期 | 元素场景针对性减伤,补短板 |
|
||||
| 元素伤害 | 冰伤(ICE_POWER) +10% | 火伤(FIRE_POWER) +10% | 风伤(WIND_POWER) +10% | +8–10% | 中期 | 与技能元素类型联动,避免单系过度 |
|
||||
| 控制概率 | 眩晕(STUN_CHANCE) +6% | 沉默(SILENCE_CHANCE) +6% | 减速(SLOW_CHANCE) +10% | +6–10% | 中期 | 软控为主,CD/停顿联动合理抑制强控链 |
|
||||
| 妨害状态 | 冻结(FREEZE_CHANCE) +6% | 中毒(POISON_CHANCE) +8% | 燃烧(BURN_CHANCE) +8% | +6–8% | 中期 | 面向清杂、溃散,触发期望受控 |
|
||||
| 蓝量循环 | 蓝上限(MP_MAX) +10% | 蓝回复(MP_REGEN) +15% | 吸蓝(MANASTEAL) +6% | +10–15% | 早中期 | 技能密度稳定来源,支撑法系 |
|
||||
| 续航强化 | 吸血(LIFESTEAL) +6% | 治疗效果(HEAL_EFFECT) +12% | 护盾效果(SHIELD_UP) +12% | +6–12% | 中后期 | 对应不同生存风格,数值递减避免堆满 |
|
||||
| 稳定系 | 命中(HIT) +10% | 控抗(CON_RES) +10% | 暴抗(CRITICAL_RES) +10% | +8–10% | 中后期 | 降低波动,克制高暴击/高控敌群 |
|
||||
| 经济成长 | 经验(EXP_GAIN) +10% | 金币(GOLD_GAIN) +10% | 掉落(DROP_CHANCE) +8% | +8–10% | 转场期 | 低战力节点给经济,避免战斗失衡 |
|
||||
| 复活保障 | 复活次数(REVIVE_COUNT) +1 | 无敌时间(INVINCIBLE_TIME) +1s | 复活时间(REVIVE_TIME) -10% | +1 / +1s / -10% | 后期 | 高压波次救命,不与关键天赋冲突 |
|
||||
| 元素对抗 | 物抗(PHYS_RES) +10% | 魔抗(MAGIC_RES) +10% | 物伤加成(PHYS_POWER) +8% | +8–10% | 中后期 | 根据敌群构成动态出现 |
|
||||
| 资源提效 | 技能持续(SKILL_DURATION) +8% | 范围(AOE) +10% | 技速(SS) +8% | +8–10% | 中期 | DOT/场控/召唤类技能收益更佳 |
|
||||
|
||||
## 设计理念
|
||||
- 非关键增益:提供轻量、可叠加的稳定成长,不与关键三选一争夺注意力。
|
||||
- ERG需求:存在(生存)–关系(交互与反馈)–成长(能力提升)均衡覆盖,维持心流。
|
||||
- 小步快跑:每次选择形成可感知的小增量,累计 3–5 次后出现显著体感。
|
||||
- 动态补偿:三选一含“补缺/增强/探索”三类,提高决策质量与多样性。
|
||||
- 软上限与递减:概率类、穿透等设软上限并递减,避免极端堆叠破坏体验。
|
||||
|
||||
## 出现规则与阶段
|
||||
- 频率:每 2–3 波或每升 2 级出现一次,单局给予 3–5 次非关键成长选择。
|
||||
- 阶段:早期主生存与蓝量,中期主效率与控制,后期主稳定与复活保障。
|
||||
- 去重:同池短时间不重复,鼓励构筑分散与策略多样性。
|
||||
- 池权重:根据敌群/技能元素/职业类型动态调整池权重,提升贴合度。
|
||||
|
||||
## 数值与软上限建议
|
||||
- 概率类软上限 50–60%,暴击率软上限 60–70%,穿透 ≤ 2。
|
||||
- 递减系数:同类堆叠每层收益降低 15–30%,维持平衡与选择张力。
|
||||
|
||||
## IAA激励(可选)
|
||||
- 单局一次:允许“刷新一次三选一”或“临时解锁第四备选(低权重强项)”。
|
||||
- 公平性:激励数值较同池低 10–20%,避免破坏对局公平与关键天赋权重。
|
||||
|
||||
## 落地建议
|
||||
- 配置复用:非关键三选一统一走天赋 `BUFF` 模式,即时或升级触发。
|
||||
- 属性枚举:在 TalSet 的 `TalAttrs` 扩充基础属性(HP/MP/AS/SS/CRITICAL/HIT 等)。
|
||||
- 阶段配表:按波次/等级给不同池的权重与范围,避免压制关键天赋。
|
||||
- 上限与递减:对核心概率类与强度类属性设置软上限与递减曲线。
|
||||
|
||||
## 与代码映射(实现参考)
|
||||
- 触发类型:可用升级或初始触发,见 `assets/script/game/common/config/TalSet.ts:7` 枚举。
|
||||
- 效果类型:建议统一使用 `TalEffet.BUFF` + `vType(BType.VALUE/RATIO)`。
|
||||
- 可选属性来源:`assets/script/game/common/config/HeroAttrs.ts:27–113` 定义完整 `Attrs`。
|
||||
- 职业成长差异:`assets/script/game/common/config/HeroAttrs.ts:272–422` 提供成长系数。
|
||||
- 攻速/技速影响CD:`assets/script/game/hero/HeroSkills.ts:139–158`。
|
||||
- 命中/闪避/暴击联动:`assets/script/game/hero/HeroAtkSystem.ts:141–162`。
|
||||
- 元素伤害与抗性修正:`assets/script/game/hero/HeroAtkSystem.ts:295–306`。
|
||||
- 护盾吸收:`assets/script/game/hero/HeroAtkSystem.ts:422–450`。
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"ver": "1.0.1",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "ecad0109-344e-47b2-aaa9-ee5902b9b016",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -1,142 +0,0 @@
|
||||
|
||||
# 技能扩展设计(Design2)
|
||||
|
||||
目标:在不大改现有战斗链路的前提下,补齐“清杂效率、单体爆发、控场节奏、团队辅助”四类技能,并明确哪些可以用当前实现直接落地,哪些需要补系统。
|
||||
|
||||
## 当前实现可直接复用的能力边界(落地约束)
|
||||
|
||||
现有技能链路(配置 -> 生成预制体 -> 移动/碰撞 -> 伤害队列 -> 伤害结算)里,稳定可用的核心参数:
|
||||
|
||||
- 伤害:ap/map + DType(物理/冰/火/风)
|
||||
- 弹道/定位:RType(linear/bezier/fixed/fixedEnd)+ speed + dis
|
||||
- 命中/穿透:Skill.hit 与 Attrs.PUNCTURE(用于销毁条件)
|
||||
- 结束:EType.animationEnd / EType.collision(其它结束类型目前不可靠)
|
||||
|
||||
结论:
|
||||
|
||||
- 现在最稳的技能形态是“单体投射物/直线穿透投射物/定点生成的近战或AOE碰撞体”。
|
||||
- DOT、真正的多目标选取(t_num/hit_num)、技能附带 buff/debuff(SkillSet.buffs/neAttrs)目前不建议依赖配置直接实现,除非补齐系统。
|
||||
|
||||
## 技能扩展的设计原则(少可用 + 构筑驱动)
|
||||
|
||||
- 每个技能只强化 1 个核心体验:清线、爆发、控场、续航、保命。
|
||||
- 每个技能至少与 1 个属性/天赋形成明确联动:CRITICAL、PUNCTURE、元素 POWER/RES、AS/SS、HIT/命中等。
|
||||
- 避免“纯数值换皮”:同元素也要在弹道/站位/命中方式上区分。
|
||||
|
||||
## 可新增技能清单(可直接落地 / MVP)
|
||||
|
||||
下列技能都可以只靠“新预制体 + SkillSet 配置”落地(不要求新增系统逻辑)。
|
||||
|
||||
### 1) 物理系(稳定通用)
|
||||
|
||||
1. 旋风斩(近身持续打击)
|
||||
- 定位:近战清杂
|
||||
- 形态:fixed(在施法者脚下生成一个较大的碰撞体)+ EType.collision
|
||||
- 关键配置建议:
|
||||
- ap:60~90(偏低,靠命中频率/覆盖面)
|
||||
- dis:短
|
||||
- hit:高(或 DTType=range 让其不因 hit_count 立刻销毁)
|
||||
- 联动:吸血(LIFESTEAL)、减伤(DMG_RED)、攻速(AS)
|
||||
|
||||
2. 贯穿突刺(直线穿透)
|
||||
- 定位:直线清线 + 站位技能
|
||||
- 形态:linear + EType.collision + hit=2~4
|
||||
- 关键配置建议:
|
||||
- ap:80~110
|
||||
- speed:高
|
||||
- dis:中
|
||||
- 联动:PUNCTURE(额外命中次数提升收益明显)
|
||||
|
||||
3. 回旋镖(往返打两段)
|
||||
- 定位:中距离稳定清杂
|
||||
- 形态:bezier(或 linear)做去程;回程用“再生成一次同技能”模拟
|
||||
- MVP落地方式:先不做真正回程,先做“穿透数较高的慢速投射物”形成近似体验
|
||||
- 联动:命中(HIT)、暴击(CRITICAL)
|
||||
|
||||
### 2) 火系(爆发/压制)
|
||||
|
||||
4. 爆裂火球(单体命中小范围)
|
||||
- 定位:点杀 + 顺带清杂
|
||||
- 形态:linear + collision,预制体碰撞盒比普通火球略大
|
||||
- 关键配置建议:
|
||||
- map:90~130
|
||||
- speed:中
|
||||
- dis:中
|
||||
- 联动:FIRE_POWER
|
||||
|
||||
5. 火雨(定点覆盖)
|
||||
- 定位:控场清杂
|
||||
- 形态:fixedEnd(在目标位置生成持续碰撞体)+ EType.collision
|
||||
- MVP注意:持续时间目前缺少可靠 timeEnd 逻辑,建议先做“命中次数上限很高的短暂停留”或“动画结束销毁”。
|
||||
- 联动:范围(AOE/AREA_OF_EFFECT 若后续启用)、FIRE_POWER
|
||||
|
||||
### 3) 冰系(节奏控制)
|
||||
|
||||
6. 冰锥连射(高速多发)
|
||||
- 定位:远程清杂
|
||||
- 形态:多次 createSkill(同技能短间隔连发),每发 linear + collision
|
||||
- 关键配置建议:
|
||||
- map:40~70(单发低,靠数量)
|
||||
- cd:略长
|
||||
- 联动:技速(SS)、命中(HIT)
|
||||
|
||||
7. 冰环(近身保命)
|
||||
- 定位:近战保命
|
||||
- 形态:fixed(脚下大碰撞体)+ animationEnd
|
||||
- 关键配置建议:
|
||||
- map:60~100
|
||||
- dis:短
|
||||
- 联动:FREEZE_CHANCE(后续补状态系统时收益巨大)
|
||||
|
||||
### 4) 风系(机动/穿透)
|
||||
|
||||
8. 风刃(远程穿透清线)
|
||||
- 定位:清线核心技
|
||||
- 形态:linear + collision + hit=3~6
|
||||
- 关键配置建议:
|
||||
- map:70~110
|
||||
- speed:高
|
||||
- dis:长
|
||||
- 联动:WIND_POWER、PUNCTURE
|
||||
|
||||
9. 龙卷(慢速大体积推线)
|
||||
- 定位:慢速压制
|
||||
- 形态:linear(慢速)+ 大碰撞体 + collision
|
||||
- 关键配置建议:
|
||||
- map:50~80
|
||||
- speed:低
|
||||
- hit:高
|
||||
- 联动:减速(SLOW_CHANCE)(后续补状态系统)
|
||||
|
||||
## 需要补系统才能“做得正确”的技能(建议后续阶段)
|
||||
|
||||
这些技能不建议只靠预制体硬做,因为会出现:命中次数不可控、重复碰撞、效果不稳定或配置字段无效。
|
||||
|
||||
1) DOT/持续伤害(需要 hitcd + 生命周期)
|
||||
- 需求:按 hitcd 定时对范围内目标结算伤害,且要有可靠的 timeEnd。
|
||||
|
||||
2) 真正的多目标选择(t_num/hit_num)
|
||||
- 需求:在施法阶段选取 N 个目标/范围内前 N 个目标,逐个派生技能或派发伤害。
|
||||
|
||||
3) 技能附带 buff/debuff(SkillSet.buffs/neAttrs)
|
||||
- 需求:命中时把 BuffConf/NeAttrsConf 注入到目标 HeroAttrsComp,并支持持续时间与叠加规则。
|
||||
|
||||
4) 召唤类(SType.zhaohuan)
|
||||
- 需求:召唤实体的生命周期、仇恨/站位、继承部分属性、与波次清理联动。
|
||||
|
||||
## 推荐的“技能池”结构(便于后续配表)
|
||||
|
||||
- 普攻技能(6001~6099):单体/短穿透,节奏稳定
|
||||
- 一般技能(6100~6999):清线/爆发/控场核心
|
||||
- 被动/触发型技能(5000~5999):反伤、护盾、反击等(靠系统触发)
|
||||
|
||||
## 立刻可落地的最小集合(建议先做这 6 个)
|
||||
|
||||
1) 贯穿突刺(物理穿透)
|
||||
2) 爆裂火球(火系爆发)
|
||||
3) 风刃(风系清线)
|
||||
4) 冰环(近身保命)
|
||||
5) 冰锥连射(远程多发)
|
||||
6) 旋风斩(近战清杂)
|
||||
|
||||
这 6 个的差异足够大,能立刻把构筑方向从“纯堆攻击”拓展到“穿透/元素/控场/攻速”。
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"ver": "1.0.1",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "f0caf6ad-9ae8-4554-a5d5-facf29822019",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -1,153 +0,0 @@
|
||||
|
||||
# 技能系统优化建议(Design3)
|
||||
|
||||
目标:在尽量少改代码的前提下,把技能的“可配置性、可扩展性、可组合性”拉起来,让新增技能与 build 更容易产出差异。
|
||||
|
||||
## 一、先修复会直接抹平 build 的关键问题(优先级最高)
|
||||
|
||||
1) 攻速/技速对 CD 生效
|
||||
|
||||
- 问题:HeroSkills.resetCD 先按 AS/SS 计算 cd,但随后又覆盖回 cd_max,导致 AS/SS 永远不影响技能循环。
|
||||
- 结果:攻速流、技速流、触发流的 build 直接被抹平。
|
||||
|
||||
2) 统一百分比/概率单位体系
|
||||
|
||||
- 现状:
|
||||
- 概率判定使用 0–100(checkChance)。
|
||||
- add_hp/add_mp 的百分比逻辑按 0–1(value * HP_MAX)。
|
||||
- 配置层(TDLevelOptions、TalSet)同时出现 0.14 表示 14% 的写法。
|
||||
- 建议:所有“概率/百分比”统一用 0–100 的“百分比点数”,显示与逻辑一致。
|
||||
|
||||
3) 天赋 count 配置生效 + 天赋 key 统一
|
||||
|
||||
- 问题:
|
||||
- **Count 容易失效**:如果 `TalComp.addTal` 中把 `count` 写死为 `1`,配置表 `talConf.count` 就会被忽略。例如“下 5 次暴击”的天赋会退化为“下 1 次暴击”。
|
||||
- 校验点:`this.Tals[uuid].count` 必须来自 `tConf.count`,而不是常量。
|
||||
- **Key 混用导致逻辑断裂**:
|
||||
- 写入方:`TalComp` 使用 `TalEffet` 枚举值写入(如 `TalEffet.DMG_RED = 10`)。
|
||||
- 读取方:`HeroAtkSystem` 使用 `Attrs` 枚举值读取(如 `Attrs.DMG_RED = 24`)。
|
||||
- 结果:天赋效果写入了错误的 Key(如 Key 10 对应 `Attrs.AP`),导致真正的伤害减免逻辑(读 Key 24)读不到数据,天赋完全失效。
|
||||
- 建议:
|
||||
- 废弃 `TalEffet` 中的 Key 定义,统一使用 `Attrs` 枚举作为 Key。
|
||||
- 在 `TalComp.addTal` 中读取 `tConf.count` 写入 `talent.count`,并保证所有“次数型天赋”的消耗端也使用同一套 Key。
|
||||
|
||||
补充:TalSet 与 HeroAttrs 的“可一一对应”边界(避免后续继续混淆)
|
||||
|
||||
- 结论:可以建立一一对应,但必须先把“键域”拆开。
|
||||
- 重要澄清:**“有条件触发”不等于“机制型”**。
|
||||
- `TriType`/`Trigger` 只决定“什么时候触发”;
|
||||
- “属性型/机制型”决定“触发后往哪里写数据、怎么被消耗”。
|
||||
- **属性型效果(可一一对应)**:所有本质是“修改某个战斗属性”的天赋,统一用 `Attrs` 作为唯一 Key。
|
||||
- 例:减伤 -> `Attrs.DMG_RED`,反伤 -> `Attrs.THORNS`,风怒倍率/风怒触发相关如果要做成属性,也应落到 `Attrs.WFUNY`。
|
||||
- 这一类天赋的表现形式建议只允许:数值型(VALUE)或百分比型(RATIO)的叠加/消耗。
|
||||
- **机制型效果(不可强行一一对应)**:本质是“改变行为/流程”的天赋,不要硬塞进 `Attrs`,而应该走独立的机制 Key。
|
||||
- 例:下次技能额外释放(D_SKILL)、下 N 次普攻必暴(C_ATK)、下 N 次技能必暴(C_SKILL)。这些不是“暴击率+X%”,而是“保证命中事件改写”,语义不同。
|
||||
- 强行映射到 `Attrs.CRITICAL` 会造成策划误配:玩家以为是概率加成,但实际是保底机制,体验会断层。
|
||||
|
||||
- 推荐的设计规范(给策划与程序统一语言):
|
||||
- **字段含义固定化**:
|
||||
- `effet` 只表达“这是属性型还是机制型”。
|
||||
- `key` 才是具体作用目标:属性型 `key = Attrs.*`;机制型 `key = Mechanic.*`(独立枚举,值域不与 Attrs 重叠)。
|
||||
- **配置校验规则**:
|
||||
- 只要是属性型天赋:必须能在 `HeroAttrs.ts` 找到同名或同义的 `Attrs`;找不到就不允许配置。
|
||||
- 只要是机制型天赋:必须有对应的消耗点(例如攻击/技能系统里明确消耗一次),否则 count 只会累加成“无效库存”。
|
||||
- 现状提醒:`TalAttrs` 的确已经把一部分属性(冻结/眩晕/击退/沉默/暴击等)映射到 `Attrs`,但这只覆盖了 `BUFF` 这类“属性叠加”分支;计数型效果如果仍用 `TalEffet` 作为 Key,就会再次出现写入/读取不一致。
|
||||
|
||||
## 二、把 SkillSet 变成“少字段但强表达”的可配置系统
|
||||
|
||||
当前 SkillConfig 字段很多,但真正稳定生效的只有少数(ap/map/DType/RType/EType/speed/dis/hit/cd/cost/sp_name)。
|
||||
|
||||
建议把技能配置分成两层:
|
||||
|
||||
- 核心战斗字段(必须生效):
|
||||
- 伤害:ap/map + DType
|
||||
- 弹道:RType + speed + dis
|
||||
- 命中:hit(穿透次数)
|
||||
- 生命周期:EType(建议只保留 animationEnd/collision 两类,其他先不让配)
|
||||
|
||||
- 扩展字段(等系统补齐后开放):
|
||||
- 多目标:t_num/hit_num
|
||||
- DOT:hitcd + timeEnd
|
||||
- buff/debuff:buffs/neAttrs + chance
|
||||
- 前摇/结束动画:ready/EAnm/DAnm
|
||||
|
||||
做法:短期不改字段也可以,但在设计上约束“哪些字段可用、哪些字段暂不承诺”。
|
||||
|
||||
## 三、用“技能变体(SkillID 替换)”快速放大组合数(最划算)
|
||||
|
||||
你现在每个英雄主动技能数量少(技能+大招),想提高 build 兴趣,不要一口气做几十个新技能。
|
||||
|
||||
建议:每个技能做 2–4 个“配置变体”,通过替换 s_uuid 实现。
|
||||
|
||||
示例:
|
||||
|
||||
- 火球(基础) -> 爆裂火球(碰撞盒更大) -> 穿透火球(hit 更高) -> 集束火球(低伤多发)
|
||||
- 风刃(基础) -> 远程风刃(dis 更长) -> 快速风刃(speed 更高,hit 较低) -> 重刃(map 更高,speed 更低)
|
||||
|
||||
收益:
|
||||
|
||||
- 不依赖 t_num/hit_num/buffs/neAttrs 等未落地字段。
|
||||
- 组合数近似按“技能变体数 × 天赋组合 × 强化路径”指数增长。
|
||||
|
||||
## 四、把天赋从“加数值”升级为“改机制”(触发器 + 处理器)
|
||||
|
||||
现状:TriType 很全,但实际只在 ATK/SKILL/MAX 更新触发,DMG/HPL/LUP 等缺来源。
|
||||
|
||||
建议的最小升级:
|
||||
|
||||
1) 先把触发源补齐:
|
||||
|
||||
- DMG:受伤时更新
|
||||
- LUP:升级时更新
|
||||
- HPL/HPA:血量变化达到阈值更新
|
||||
- DEAD:击杀/死亡时更新
|
||||
|
||||
2) 天赋效果以“机制改造”为主:
|
||||
|
||||
- 下一次技能额外释放一次
|
||||
- 下一次必暴/必定击退
|
||||
- 技能变体替换(把 s_uuid 换成强化版本)
|
||||
- 元素转化(把 DType 从 ATK 改成 FIRE 等,形成元素 build)
|
||||
|
||||
这样即使每局只拿 4 个天赋,组合也会很丰富。
|
||||
|
||||
## 五、给技能增加“关键词(Tag)”让天赋可泛化(中期目标)
|
||||
|
||||
建议新增 tags(概念层):
|
||||
|
||||
- Projectile / Melee / AoE / Beam
|
||||
- Element: Fire/Ice/Wind/Phys
|
||||
- Utility: Control/Sustain/Burst/Clear
|
||||
|
||||
天赋用 tags 做筛选:
|
||||
|
||||
- “所有 Projectile 分裂 +1”
|
||||
- “所有 Fire 技能命中后额外一次伤害(或改成更大碰撞体)”
|
||||
- “所有 AoE 范围 +20%”
|
||||
|
||||
收益:一个天赋能作用多个技能,build 会自然爆炸。
|
||||
|
||||
## 六、让技能表现更稳定的工程建议(减少体验噪音)
|
||||
|
||||
1) 明确技能销毁策略
|
||||
|
||||
- 推荐只支持:
|
||||
- animationEnd(动画结束销毁)
|
||||
- collision(碰撞触发销毁或 hit 次数耗尽销毁)
|
||||
|
||||
2) 统一命中次数规则
|
||||
|
||||
- 只保留一个概念:pierce(命中次数上限)
|
||||
- 技能用 hit 表达基础穿透,角色属性用 PUNCTURE 叠加。
|
||||
|
||||
3) 技能范围命中逻辑选择一种实现并固定
|
||||
|
||||
- 方案A:完全靠碰撞体(推荐,少代码)
|
||||
- 方案B:施法阶段选目标(t_num/hit_num),但必须补齐对应系统,否则不要给策划配。
|
||||
|
||||
## 七、推荐落地顺序(两周内能看到 build 明显变丰富)
|
||||
|
||||
1) 修复:CD 计算、单位体系、天赋 count/key
|
||||
2) 新增:每个主技能 2–3 个变体(SkillID 替换)
|
||||
3) 补齐:DMG/LUP/HPL 等触发源,让天赋真正“可构筑”
|
||||
4) 扩展:tags + 泛化天赋
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"ver": "1.0.1",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "1fbc2338-b0fa-4487-93d0-e6947a97f77e",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
|
||||
点数配额算法1. 核心算法:威胁点数池 (Threat Budget)不要硬编码刷怪数量,而是采用『配额制』。•系统公式: Budget(t) = Base_Budget * (1 + t/60 * 0.2) * Intensity_Multiplier•逻辑流:1.每秒生成一个 Budget 值(如 1 分钟时是 20 点)。2.从怪物池中随机挑选怪,直到点数耗尽。3.怪物定价: 战士(5201)=1点,刺客(5301)=3点,精英(5701)=50点。
|
||||
•战术混编: 系统会根据 Budget 自动平衡。如果随机到了一个精英怪(消耗50点),那一秒就不会有密集的杂兵,防止瞬间崩盘。
|
||||
动态参数影响因素动态难度调整 (DDA)战力反馈系数当英雄血量低于 40% 时,Budget 临时缩减 30%,产生『绝地求生』的喘息窗口。
|
||||
根据玩家已触发天赋(如风怒)的频率,反向增加 Budget 以维持『割草』的挑战性。
|
||||
|
||||
0-2min匀速群落100 : 0 : 0纯战士,喂英雄普攻计数
|
||||
2-5min快速干扰70 : 30 : 0刺客比例提升,检测护盾天赋
|
||||
5-10min阵地博弈50 : 40 : 10攻城工兵与治疗祭司登场
|
||||
10-14min极限生存30 : 50 : 20机制怪集群,强迫英雄放大重置计数
|
||||
15min剧情杀/决战0 : 0 : 100清除所有杂兵,锁定刷出最终BOSS
|
||||
|
||||
资深设计师:交互深度结论1.右侧边缘的『噪音刷新』: 不要让怪物只从一个点出来,给刷怪点的 Y 轴增加随机偏移,模拟从森林或荒野涌入的杂乱感。2.大招冷却对冲: 既然大招可以重置 7001-7010 的计数,你的 Spawner 应该在玩家大招释放后的 5 秒内,瞬间补充一批低血量高频率怪(如蜂群)。这能让玩家通过大招重置后,立即由于这批新怪再次快速攒满下一次重置的计数,形成『爽感循环』。3.伙伴站位交互: 针对战士伙伴,可以设计『自愈怪』,如果战士没能辐射到足够的伤害,这种怪会在前排无限堆积。
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"ver": "1.0.1",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "2eccd2f0-0d28-44bd-b2c0-603ffe1f4dce",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
# 玩法build方向:
|
||||
## 天赋对应的强化路径:
|
||||
攻击触发天赋 -> 高攻速
|
||||
受伤触发天赋 -> 高防御
|
||||
失血触发天赋 -> 高血
|
||||
回血触发天赋 -> 高吸血
|
||||
## 可组合强化属性:
|
||||
攻击
|
||||
暴击
|
||||
暴击伤害
|
||||
风怒
|
||||
冰冻
|
||||
击晕
|
||||
击退
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"ver": "1.0.1",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "c7803dc9-7e33-476f-9144-5d0b65702963",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
# 《吸血鬼幸存者》角色特性总表
|
||||
|
||||
| 被动技能(核心特性) |
|
||||
|---------------------|
|
||||
| 每10级增加10%伤害(最高50%) |
|
||||
| 每5级增加10%经验获取(最高30%) |
|
||||
| 每5级增加10%普通攻击速度(最高30%) |
|
||||
| **永久投射物数量+1** |
|
||||
| 每10级减少5%冷却(最高15%) |
|
||||
| 开局冷却-90%,随等级逐渐恢复正常 |
|
||||
| 每10级增加力量、移速、诅咒(最高20%) |
|
||||
| **永久金币收益+25%**(生命-30) |
|
||||
| 开局范围+400%,随等级递减 |
|
||||
| 普通攻击速度+40%,持续时间+40%,移速-40% |
|
||||
| 1级和33级各获得一次复活 |
|
||||
| 冷却时间-25%(生命、力量降低) |
|
||||
| **每级力量+1%(无上限)** |
|
||||
| **每级普通攻击速度+1%(无上限)** |
|
||||
| **每级武器效果持续时间+1%(无上限)** |
|
||||
| 每20级投射物+1(最高+3) |
|
||||
| 每20级投射物+1(最高+3) |
|
||||
| 每20级投射物+1(最高+3) |
|
||||
| 每20级投射物+1(最高+3) |
|
||||
| 每20级,获得一个傀儡作为随从(最多+4) |
|
||||
| 默认与福米娜组队进入关卡 |
|
||||
| 默认与邦妮组队进入关卡 |
|
||||
| 拥有6种不同属性的皮肤 |
|
||||
| 收集她召唤的猫时会变得更强 |
|
||||
| 被击败的敌人会成为随从,生命值上限提高时随从上限也随之提高 |
|
||||
| 触发点亮攻击的频率更高 |
|
||||
| 在"濒死遗迹"中,每次有角色复活(包括自己)时触发"独秀专场" |
|
||||
| 敌人生成数量+50% |
|
||||
| 开局即可使用特技"天雷" |
|
||||
| 具有四种皮肤,每点亮一个新特技可获得1次复活和5%成长属性 |
|
||||
| 每20级,飞射物增加,最多+4 |
|
||||
| 每次触发"独秀专场"时获得一名随从 |
|
||||
| 天生知晓特技"飞燕切"和"疾风剑" |
|
||||
| 天生知晓特技"地狱断面"和"鲜血狂怒" |
|
||||
| 天生知晓"朱砂"特技 |
|
||||
|
||||
## 表格说明
|
||||
* **加粗文本**表示该角色的核心优势或特色机制
|
||||
* 角色按解锁难度和游戏进度大致排序
|
||||
* 后期角色普遍与"翻转翡翠模型"游戏内容相关
|
||||
* "独秀专场"是许多后期角色的共同濒死爆发机制
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"ver": "1.0.1",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "6bb4bf9c-f8e4-448d-9590-510bc141a52a",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -1,94 +0,0 @@
|
||||
# 游戏配置汇总
|
||||
|
||||
本文档汇总了游戏中的天赋配置 (`TalSet.ts`) 和属性/药水配置 (`AttrSet.ts`)。
|
||||
|
||||
## 1. 天赋配置 (Talents)
|
||||
|
||||
来源: `assets/script/game/common/config/TalSet.ts`
|
||||
|
||||
| ID | 名称 | 类型 | 触发条件 | 效果 | 描述 |
|
||||
|:---:|:---|:---|:---|:---|:---|
|
||||
| **7001** | 风怒 | 普攻触发 | 普攻3次 | 额外150%伤害 | 普通攻击3次后, 立即给与目标150%伤害的额外打击 |
|
||||
| **7003** | 回血 | 普攻触发 | 普攻3次 | 回复1%生命 | 普通攻击3次后, 会回复1%的生命值 |
|
||||
| **7004** | 回血(大) | 普攻触发 | 普攻5次 | 回复2%生命 | 普通攻击5次后, 会回复2%的生命值 |
|
||||
| **7005** | 冰冻 | 普攻触发 | 普攻3次 | 获得5%冻结率 | 普通攻击3次后, 获得5%的冻结率 |
|
||||
| **7006** | 沉默 | 普攻触发 | 普攻3次 | 获得5%沉默率 | 普通攻击3次后, 获得5%的沉默率 |
|
||||
| **7007** | 击退 | 普攻触发 | 普攻3次 | 获得5%击退率 | 普通攻击3次后, 获得5%的击退率 |
|
||||
| **7008** | 会心 | 普攻触发 | 普攻3次 | 获得5%暴击率 | 普通攻击3次后, 获得5%的暴击率 |
|
||||
| **7009** | 眩晕 | 普攻触发 | 普攻3次 | 获得5%眩晕率 | 普通攻击3次后, 获得5%的眩晕率 |
|
||||
| **7010** | 熟练 | 普攻触发 | 普攻10次 | 下次技能额外释放1次 | 普通攻击10次后, 下次一般技能额外释放1次,伤害100% |
|
||||
| **7101** | 反击 | 受伤触发 | 被击3次 | 反伤50% | 被攻击3次后, 给于目标50%的伤害 |
|
||||
| **7102** | 护盾 | 受伤触发 | 被击30次 | 获得20%生命护盾 | 被攻击30次后, 获得20%的生命值护盾 |
|
||||
| **7103** | 减伤 | 受伤触发 | 被击3次 | 下次减伤50% | 被攻击3次后, 下1次伤害减50% |
|
||||
| **7104** | 反伤 | 受伤触发 | 被击100次 | 获得1次复活 | 被攻击100次后, 获得1次复活 |
|
||||
| **7201** | 背水 | 失去血量 | 每失去50%生命 | 下10次普攻暴击 | 每失去50%生命值,获得下10次普通攻击暴击 |
|
||||
| **7301** | 勤勉 | 升级触发 | 每升1级 | 下5次技能必暴 | 每升1级,获得下5次技能必暴击 |
|
||||
| **7302** | 风怒 | 升级触发 | 每升1级 | 永久增加2%风怒 | 每升1级,永久增加2%的风怒概率 |
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 2. 属性加成 (Attributes)
|
||||
|
||||
来源: `assets/script/game/common/config/AttrSet.ts`
|
||||
|
||||
### 一阶属性 (ID: 20xx)
|
||||
| ID | 属性 | 值 | 描述 | 备注 |
|
||||
|:---:|:---|:---|:---|:---|
|
||||
| **2001** | 攻击力 | +10 | 攻击力 +10 | 常规强化 |
|
||||
| **2002** | 生命上限 | +50 | 生命上限 +50 | 常规强化 |
|
||||
| **2003** | 防御力 | +2% | 防御力 +2% | 常规强化 |
|
||||
| **2004** | 攻击速度 | +1% | 攻击速度 +1% | 常规强化 |
|
||||
| **2005** | 吸血比例 | +2% | 吸血比例 +2% | 上限50% |
|
||||
| **2006** | 暴击率 | +2% | 暴击率 +2% | 上限70% |
|
||||
| **2007** | 暴击伤害 | +10% | 暴击伤害 +10% | 上限200% |
|
||||
| **2008** | 眩晕概率 | +2% | 眩晕概率 +2% | 上限50% |
|
||||
| **2009** | 冰冻概率 | +2% | 冰冻概率 +2% | 上限50% |
|
||||
| **2010** | 燃烧概率 | +2% | 燃烧概率 +2% | 上限50% |
|
||||
| **2011** | 击退概率 | +2% | 击退概率 +2% | 上限50% |
|
||||
| **2012** | 减速概率 | +2% | 减速概率 +2% | 上限50% |
|
||||
|
||||
### 二阶属性 (ID: 21xx)
|
||||
| ID | 属性 | 值 | 描述 | 备注 |
|
||||
|:---:|:---|:---|:---|:---|
|
||||
| **2101** | 攻击力 | +15 | 攻击力 +15 | 常规强化 |
|
||||
| **2102** | 生命上限 | +70 | 生命上限 +70 | 常规强化 |
|
||||
| **2103** | 防御力 | +2.5% | 防御力 +2.5% | 常规强化 |
|
||||
| **2104** | 攻击速度 | +1.5% | 攻击速度 +1.5% | 常规强化 |
|
||||
| **2105-2112** | 各类特殊属性 | +2.5% / +12% | 见一阶对应项提升 | 上限同前 |
|
||||
|
||||
### 三阶属性 (ID: 22xx)
|
||||
| ID | 属性 | 值 | 描述 | 备注 |
|
||||
|:---:|:---|:---|:---|:---|
|
||||
| **2201** | 攻击力 | +20 | 攻击力 +20 | 常规强化 |
|
||||
| **2202** | 生命上限 | +100 | 生命上限 +100 | 常规强化 |
|
||||
| **2203** | 防御力 | +3% | 防御力 +3% | 常规强化 |
|
||||
| **2204** | 攻击速度 | +2% | 攻击速度 +2% | 常规强化 |
|
||||
| **2205-2212** | 各类特殊属性 | +3% / +15% | 见一阶对应项提升 | 上限同前 |
|
||||
|
||||
### 四阶属性 (ID: 23xx)
|
||||
| ID | 属性 | 值 | 描述 | 备注 |
|
||||
|:---:|:---|:---|:---|:---|
|
||||
| **2301** | 攻击力 | +30 | 攻击力 +30 | 常规强化 |
|
||||
| **2302** | 生命上限 | +200 | 生命上限 +200 | 常规强化 |
|
||||
| **2303** | 防御力 | +5% | 防御力 +5% | 常规强化 |
|
||||
| **2304** | 攻击速度 | +5% | 攻击速度 +5% | 常规强化 |
|
||||
| **2305-2312** | 各类特殊属性 | +5% / +30% | 见一阶对应项提升 | 上限同前 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 药水配置 (Potions)
|
||||
|
||||
来源: `assets/script/game/common/config/AttrSet.ts`
|
||||
|
||||
| ID | 名称 | 效果 | 持续时间 | 描述 |
|
||||
|:---:|:---|:---|:---|:---|
|
||||
| **3001** | 狂暴药水 | 攻击力 +50% | 20秒 | 20秒内攻击力 +50% |
|
||||
| **3002** | 急速药水 | 攻速 +50% | 20秒 | 20秒内攻速 +50% |
|
||||
| **3003** | 金钟罩 | 防御 +50% | 20秒 | 20秒内防御 +50% |
|
||||
| **3004** | 神行药水 | 移速 +50% | 20秒 | 20秒内移速 +50% |
|
||||
| **3005** | 力量药剂 | 攻击力 +20% | 60秒 | 60秒内攻击力 +20% |
|
||||
| **3006** | 敏捷药剂 | 攻速 +20% | 60秒 | 60秒内攻速 +20% |
|
||||
| **3007** | 护甲药剂 | 防御 +20% | 60秒 | 60秒内防御 +20% |
|
||||
| **3008** | 轻灵药剂 | 移速 +20% | 60秒 | 60秒内移速 +20% |
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"ver": "1.0.1",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "cfdab3fb-fa6a-4963-9768-70965a3168a0",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
# 英雄天赋系统开发计划
|
||||
|
||||
## 📋 项目概述
|
||||
**目标**:为游戏英雄设计并实现一个在特定等级(1, 5, 10, 15, 20级)触发的“三选一”天赋系统。
|
||||
**核心功能**:UI交互界面、天赋数据管理、天赋效果与英雄技能(普通攻击、攻击技能、必杀技)的整合。
|
||||
|
||||
## 🗓️ 项目阶段与任务清单
|
||||
|
||||
### 阶段一:基础框架搭建 (第1-2周)
|
||||
**目标**:创建核心数据结构和管理器脚本。
|
||||
|
||||
- [ ] **设计数据模型**
|
||||
- [*] 创建 `HeroClass`,定义基础属性(生命值、攻击力)和技能引用。
|
||||
- [ ] 创建 `TalentData`,定义天赋数据结构(ID、名称、描述、效果类型、效果值)。
|
||||
- [ ] 创建 `TalentTree`,管理按等级组织的天赋集合。
|
||||
|
||||
- [ ] **创建核心管理器**
|
||||
- [ ] 编写 `TalentManager` 脚本,负责:
|
||||
- [ ] 在英雄达到关键等级时触发选择界面。
|
||||
- [ ] 记录玩家已选天赋。
|
||||
- [ ] 计算天赋对英雄属性的最终影响。
|
||||
- [ ] 编写/调整 `GameManager` 脚本,协调天赋系统与UI的通信。
|
||||
|
||||
### 阶段二:UI界面与交互 (第3-4周)
|
||||
**目标**:制作“三选一”弹窗界面并实现交互逻辑。
|
||||
|
||||
- [ ] **制作弹窗界面**
|
||||
- [ ] 设计弹窗布局(背景、标题、三个选项按钮区域)。
|
||||
- [ ] 为每个选项按钮配置UI元素(图标、名称、描述文本)。
|
||||
- [ ] 添加按钮的悬停高亮和点击效果。
|
||||
|
||||
- [ ] **实现UI逻辑**
|
||||
- [ ] 编写 `TalentSelectionPanel` 脚本,用于:
|
||||
- [ ] 从 `TalentManager` 接收可选天赋数据。
|
||||
- [ ] 将数据填充到对应的UI元素上。
|
||||
- [ ] 监听玩家选择,并将结果返回给 `TalentManager`。
|
||||
|
||||
### 阶段三:天赋系统实现 (第5周)
|
||||
**目标**:配置天赋数据,并实现天赋效果的应用逻辑。
|
||||
|
||||
- [ ] **配置天赋数据**
|
||||
- [ ] 为每个关键等级设计3个强度相近、功能侧重不同的天赋(如攻击提升、防御提升、技能冷却缩减)。
|
||||
|
||||
- [ ] **实现等级触发**
|
||||
- [ ] 在英雄升级逻辑中,检查关键等级(1, 5, 10, 15, 20),并调用 `TalentManager` 激活选择界面。
|
||||
|
||||
- [ ] **应用天赋效果**
|
||||
- [ ] 在 `TalentManager` 中编写逻辑,将玩家选择的天赋效果永久附加到英雄属性上(如攻击力提升)。
|
||||
|
||||
### 阶段四:英雄技能系统整合 (第6周)
|
||||
**目标**:实现天赋对技能机制的影响,增加策略深度。
|
||||
|
||||
- [ ] **确认技能框架**
|
||||
- [ ] 确保英雄技能(普通攻击、攻击技能、必杀技)有清晰的可修改属性(伤害、冷却、范围等)。
|
||||
|
||||
- [ ] **实现天赋-技能联动**
|
||||
- [ ] 设计能改变技能机制的天赋(如“必杀技范围扩大20%”)。
|
||||
- [ ] 在 `TalentManager` 中编写逻辑,应用这些特殊效果。
|
||||
|
||||
### 阶段五:测试与平衡调整 (第7-8周)
|
||||
**目标**:确保系统稳定、平衡、用户体验良好。
|
||||
|
||||
- [ ] **功能测试**
|
||||
- [ ] 测试每个等级是否正常触发界面。
|
||||
- [ ] 测试每个天赋选择后是否正确生效。
|
||||
- [ ] 测试游戏重启后天赋是否正确重置。
|
||||
|
||||
- [ ] **平衡性调优**
|
||||
- [ ] 评估不同天赋组合的强度,避免出现“必选”或“无用”天赋。
|
||||
- [ ] 调整天赋数值,确保各流派(攻击、防御等)在中后期都有竞争力。
|
||||
|
||||
- [ ] **用户体验优化**
|
||||
- [ ] 检查界面清晰度和描述准确性。
|
||||
- [ ] 考虑为关键天赋选择添加音效。
|
||||
|
||||
## 💡 进阶优化建议 (可选)
|
||||
- [ ] **局外成长**:引入天赋点或资源,允许在多次游戏后永久强化某些天赋。
|
||||
- [ ] **可视化反馈**:为关键天赋效果添加炫酷的视觉特效。
|
||||
|
||||
## ✨ 使用建议
|
||||
|
||||
1. **进度跟踪**:你可以直接在支持渲染Markdown任务列表的编辑器(如VS Code with extensions、Typora、MarkText[5](@ref)等)中打开此文件,通过勾选复选框(`- [ ]` 变为 `- [x]`)来直观地跟踪每个任务的完成情况[1,3](@ref)。
|
||||
2. **版本控制**:建议将此MD文件纳入版本控制系统(如Git),在完成每个阶段性任务后都进行提交,便于回溯和管理。
|
||||
3. **内容扩展**:你可以在每个任务项下使用Markdown的无序列表(以 `-` 或 `*` 开头)[8](@ref)或有序列表[8](@ref)来添加更细致的子任务或备注。
|
||||
|
||||
希望这份结构清晰的Markdown计划能助你高效地进行开发!如果对某个具体环节有更多想法或疑问,我们可以继续探讨。
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"ver": "1.0.1",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "651158a4-0a34-422f-87b3-49b87eb1522f",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -1,123 +0,0 @@
|
||||
1. [已完成] HeroAttrsComp 架构问题:数据层与表现层耦合
|
||||
|
||||
- 位置:assets/script/game/hero/HeroAttrsComp.ts 的 add_hp、add_mp
|
||||
- 问题:属性组件中直接通过 this.ent.get(HeroViewComp) 更新视图,
|
||||
数据层与表现层强耦合,不利于复用(例如无头战斗逻辑)。
|
||||
|
||||
- ✅ 已完成:
|
||||
- 移除 HeroAttrsComp 中对 HeroViewComp 的直接依赖,仅维护数值;
|
||||
- 实现脏标签机制,数据层只负责设置脏标签,视图层在update中检查并更新;
|
||||
- 保证 HeroAttrsComp 只处理战斗数值逻辑,不直接操作表现层。
|
||||
|
||||
- 具体修改:
|
||||
- HeroAttrsComp.ts: add_hp/add_mp/add_shield 只设置脏标签,不调用视图层
|
||||
- HeroViewComp.ts: health/mp_add 只显示特效,不调用 hp_show/mp_show
|
||||
- HeroViewComp.ts: update() 中通过脏标签按需更新UI
|
||||
- 优化效果:消除双重UI更新,实现真正的按需更新,提升性能
|
||||
|
||||
2. [待实现] SACastSystem 扩展治疗/护盾技能支持
|
||||
|
||||
- 位置:assets/script/game/hero/SACastSystem.ts
|
||||
- 现状:只支持 SType.damage (伤害技能),缺少 SType.heal/shield 等辅助技能处理
|
||||
- 待实现功能:
|
||||
- 在 executeCast() 中添加技能类型判断分支
|
||||
- 实现 executeHealSkill() 方法:治疗技能逻辑
|
||||
- 根据技能配置的治疗量修改目标HP
|
||||
- 触发治疗特效(通过 HeroViewComp.health())
|
||||
- 数据层已支持,只需调用 add_hp() + 触发特效
|
||||
- 实现 executeShieldSkill() 方法:护盾技能逻辑
|
||||
- 根据技能配置的护盾量修改目标护盾值
|
||||
- 触发护盾特效(通过 HeroViewComp.add_shield())
|
||||
- 数据层已支持,只需调用 add_shield() + 触发特效
|
||||
- 实现 findEntityAtPosition() 辅助方法:根据位置查找目标实体
|
||||
- 注意事项:
|
||||
- SkillSet 中暂时没有治疗/护盾技能配置,等配置就绪后实现
|
||||
- 目标选择逻辑需根据实际设计实现(血量最低友军/随机友军等)
|
||||
- 治疗量/护盾量需从技能配置读取,当前使用占位值
|
||||
|
||||
3. [问题] SkillSet 目标组枚举命名与注释语义不一致
|
||||
|
||||
- 位置:assets/script/game/common/config/SkillSet.ts 的 TGroup
|
||||
- 现状:Ally/Team 的注释与字面含义相反,容易导致配置选错目标阵营。
|
||||
|
||||
3. [问题] SkillSet 多字段“配置存在但运行时未生效”,易造成误配
|
||||
|
||||
- 位置:assets/script/game/common/config/SkillSet.ts + assets/script/game/skill/SkillView.ts
|
||||
- 现状:t_num/hit_num/hitcd/ready/EAnm/DAnm/buffs/neAttrs 等字段当前链路中基本未进入核心逻辑;hit_num 的范围命中逻辑在 SkillView 中被注释。
|
||||
- 风险:策划以为有效,实际上无效果。
|
||||
|
||||
4. [问题] EType 定义的结束类型 > 实际支持的结束类型
|
||||
|
||||
- 位置:assets/script/game/common/config/SkillSet.ts + assets/script/game/skill/SMoveComp.ts + assets/script/game/skill/SkillView.ts
|
||||
- 现状:distanceEnd/countEnd 等缺少对应实现;SkillView 仅处理 animationEnd;SMoveSystem 仅在 timeEnd/collision 才销毁。
|
||||
- 风险:配置为 distanceEnd/countEnd 可能导致技能不销毁或销毁时机不符合预期。
|
||||
|
||||
5. [问题] “穿透/命中次数”概念重复且实现偏一边
|
||||
|
||||
- 位置:assets/script/game/common/config/HeroAttrs.ts + assets/script/game/common/config/SkillSet.ts + assets/script/game/skill/SkillView.ts
|
||||
- 现状:PIERCE/PUNCTURE 两套概念并存,技能销毁只看 (Skill.hit + Attrs.PUNCTURE),t_num/hit_num 不参与。
|
||||
|
||||
6. [问题] TalSet 的 count 配置未生效
|
||||
|
||||
- 位置:assets/script/game/common/config/TalSet.ts + assets/script/game/hero/TalComp.ts
|
||||
- 现状:talConf 中配置了 count,但 TalComp.addTal() 固定把 count 设为 1。
|
||||
- 风险:如“触发后下10次必爆”等配置实际表现会被压缩为 1 次。
|
||||
|
||||
7. [问题] 天赋触发源不完整:大量 triType 永远不会触发
|
||||
|
||||
- 位置:assets/script/game/hero/SACastSystem.ts + assets/script/game/hero/HeroAtkSystem.ts
|
||||
- 现状:当前只对 ATK/SKILL/MAX 调用 updateCur;DMG/LUP/HPL/HPA/DEAD/INIT 等缺少累计来源。
|
||||
|
||||
8. [问题] TalEffet 执行分支不完整
|
||||
|
||||
- 位置:assets/script/game/hero/TalComp.ts
|
||||
- 现状:TalEffet.SHIELD/THORNS 等枚举存在,但 doTriggerTal 未覆盖或未完整实现。
|
||||
|
||||
9. [问题] 百分比/概率“单位体系”混乱(0-1 与 0-100 混用)
|
||||
|
||||
- 位置:assets/script/game/hero/HeroAtkSystem.ts + assets/script/game/hero/HeroAttrsComp.ts + assets/script/game/common/config/TalSet.ts + assets/script/game/common/config/TDLevelOptions.ts
|
||||
- 现状:战斗概率判定使用 0-100;add_hp/add_mp 的百分比却按 0-1 乘上限;强化池与天赋表里同时出现 0.14 表示 14% 这种写法。
|
||||
- 风险:显示/描述与实际生效严重偏差(例如显示 +14%,实际可能只加 0.14 或反过来直接回满)。
|
||||
|
||||
10. [问题] TDLevelOptions 强化池当前未接入实际流程
|
||||
|
||||
- 位置:assets/script/game/common/config/TDLevelOptions.ts
|
||||
- 现状:getNormalBuffs/getTalentBuffs 在代码中未被引用,属于孤岛配置。
|
||||
|
||||
11. [问题] 强化池常规等级选项集合恒定
|
||||
|
||||
- 位置:assets/script/game/common/config/TDLevelOptions.ts
|
||||
- 现状:多数等级池子只有 4 条且默认抽 4 个,实际仅随机排序,没有“随机性”。
|
||||
|
||||
12. [问题] 上限规则仅写在 note 文本,未强制 clamp
|
||||
|
||||
- 位置:assets/script/game/hero/HeroAttrsComp.ts + assets/script/game/common/config/TDLevelOptions.ts
|
||||
- 现状:clamp 只限制 CRITICAL/DODGE/HIT;STUN_CHANCE/FREEZE_CHANCE/LIFESTEAL 等未做强制上限。
|
||||
|
||||
13. [严重问题] 攻速/技速对 CD 不生效
|
||||
|
||||
- 位置:assets/script/game/hero/HeroSkills.ts
|
||||
- 现状:resetCD 里按 AS/SS 计算了 cd,但随后又把 cd 覆盖回 cd_max。
|
||||
- 风险:攻速/技速体系失效,强化与天赋相关数值无法体现。
|
||||
|
||||
14. [问题] 资源加载机制限制:gui 目录资源无法直接获取
|
||||
|
||||
- 位置:assets/script/game/map/HInfoComp.ts 及资源目录
|
||||
- 现状:`oops.res.get` 仅能获取已预加载的资源。当前初始化流程(LoadingViewComp)仅预加载了 `game` 目录,导致 `gui` 目录下的资源无法通过代码动态获取。
|
||||
- 影响:设计师无法随意引用 `gui` 下的资源,限制了界面开发的灵活性。
|
||||
- 建议方案:
|
||||
1. 规范:将所有动态加载的资源统一放入 `assets/resources/game` 目录下(推荐)。
|
||||
2. 扩展:在 LoadingViewComp 中增加 `gui` 目录的预加载(需评估内存和启动时间)。
|
||||
- 风险:攻速/技速体系失效,强化与天赋相关数值无法体现。
|
||||
|
||||
14. [严重问题] 计数型天赋 key 与属性枚举不一致,导致天赋效果读取失败
|
||||
|
||||
- 位置:assets/script/game/hero/TalComp.ts + assets/script/game/hero/HeroAtkSystem.ts
|
||||
- 现状:TalComp 写入使用 TalEffet.DMG_RED(等),HeroAtkSystem 读取却用 Attrs.DMG_RED/Attrs.THORNS。
|
||||
- 风险:减伤/反伤等计数型天赋永远不生效或表现异常。
|
||||
|
||||
15. [问题] 多处存在 “|| 0 + xxx” 的运算优先级坑
|
||||
|
||||
- 位置:assets/script/game/hero/HeroAtkSystem.ts
|
||||
- 现状:会在属性非 0 时吞掉天赋增量(或相反),导致数值叠加不符合预期。
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"ver": "1.0.1",
|
||||
"importer": "text",
|
||||
"imported": true,
|
||||
"uuid": "fb132ece-b235-4872-92f6-7f5f43d793d8",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
Reference in New Issue
Block a user