joywayer and Claude Opus 4.8
1ab0521061
refactor(ai): IAiContext.Mover→Locomotion,删除 IMover
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-10 12:14:53 +08:00
joywayer and Claude Opus 4.8
f143efe4a3
feat(scaffold): PlaceE001 挂载 EnemyLocomotion,重生成 prefab
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-10 12:10:29 +08:00
joywayer and Claude Opus 4.8
8c1a8647bb
feat(enemy): EnemyBase 经接口发现并暴露 Locomotion(IEnemyLocomotion)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-10 12:06:41 +08:00
joywayer and Claude Opus 4.8
0f988c4cef
feat(enemy): 新增 EnemyLocomotion 执行器(Idle/Patrol-Wander/Face/Approach)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-10 11:59:02 +08:00
joywayer and Claude Opus 4.8
0a7312e9bc
feat(ai): 新增 IEnemyLocomotion 接口与 LocomotionMode/PatrolStrategy 枚举
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-10 11:55:41 +08:00
joywayer
612db1bc98
@
...
docs(ai): 敌人执行层统一 实施计划(P2-P6)
EnemyLocomotion 引入(P2)/AI 改绑意图删协程能力(P3)/删 AiPhase(P4)/
Stats 清理(P5)/巡逻策略 Pace+Waypoints(P6),逐 Task 含代码+EditMode/
PlayMode 验证+提交。P1 已完成。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
@
2026-07-10 11:51:14 +08:00
joywayer
e1f719aca0
@
...
docs(ai): 明确 PB2d 不支持飞行导航 + 飞行绕障缺口
核实 PathBerserker2d 为表面图寻路(NavSurface/NavSegment/NavLink),不支持
飞行;飞行怪走 FlyingDirectNavigator 直线直飞。EnemyLocomotion 收编两个
IPathAgent 后端。补记"飞行绕障"为已知缺口(现有直飞无绕障,需单独飞行寻路
方案),非本次范围。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
@
2026-07-10 11:44:07 +08:00
joywayer
ab8f61d2d9
@
...
docs(ai): 敌人执行层统一 + AI/动画/属性瘦身 设计文档
通篇审查敌人架构(movement/stats/state/AI+abilities)后的重构方案:
引入统一 EnemyLocomotion(Idle/Patrol/Face/Approach 模式 + Wander/Pace/
Waypoints 策略)取代 7 种巡逻/4 套移动/IMover/三个协程能力;删 AiPhase
影子层(动画改由 locomotion 驱动);清 EnemyStatsSO ~11 个死字段。范围
E001 样板+框架,E002-E06/Boss 定落地范式后续实现。P1(死代码清除)已完成。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
@
2026-07-10 11:39:26 +08:00
joywayer
e894a9dd27
@
...
chore(ai): 移除死代码 Behavior Designer(BD_* + Opsive 包 + 宏)
敌人 AI 已迁到自研 BrainGraph,旧的 Opsive Behavior Designer 集成全线死亡:
无任何 prefab 挂 BehaviorTree,新系统也不引用 BD 任务。用户手动删除三个
com.opsive.* 包后,BD_* 文件(#if GRAPH_DESIGNER 下引用 Opsive 类型)导致
BaseGames.Enemies.AI 程序集编译失败——本提交清除死代码并恢复编译。
- 删除 ~50 个 BD_*.cs + BDTaskAttributes.cs + BaseGames.Enemies.AI.asmdef。
- 移除 Standalone 的 GRAPH_DESIGNER 脚本宏。
- 移除 com.opsive.behaviordesigner/shared/graphdesigner 嵌入包(用户已删目录)。
已扫描确认无其他程序集引用该 AI 程序集、无真实 Opsive/BD_ 类型引用
(仅注释/Tooltip 提及)。编译 0 错误。属敌人架构重构 P1(死代码清除)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
@
2026-07-10 11:37:16 +08:00
joywayer and Claude Opus 4.8
2e2df2b5dd
refactor(ai): E001 贯彻"AI只决策"——每状态=一能力(Model A)
...
AI 决策层(E001CaoZhiAi + PerceptionStateMachine)彻底移除所有 actuation:
不再有 Mover.Stop/FacePlayer/UseChaseSpeed/WalkRandom、也不再 SetPhase。
每个 AI 状态只声明触发哪个能力 id,行为(移动/朝向/停/速度/动画/伤害/
阶段声明)全部下沉到对应能力里。
- 新增 IdleAbility/PatrolAbility/AlertAbility:待机静止、巡逻游走、
警觉朝向玩家,各自 SetAiPhase 驱动阶段动画。
- ContactChaseAbility 追击进入时自设 RunSpeed + Chase 阶段(原在 AI)。
- PerceptionStateMachine 改为 AddAbilityState:进入/每帧 EnsureAbility
(被打断/受击后自动重触发)、离开 InterruptAbilities;转换规则不变。
- IEnemyActor/EnemyBrainContext 移除已无用的 SetPhase,保留 HasAlertState。
- 新增 SO:ABL_E001_Idle(e001_idle)、ABL_E001_Patrol(e001_patrol)。
- 脚手架 PlaceE001 与 ENM_CaoZhi 预制体同步为四能力结构;TestRoomA
实例替换为规范预制体实例。
PlayMode 验证:Chase→ContactChaseAbility、脱离感知→Move_Patrol→
PatrolAbility,阶段由能力设置,无报错。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-10 10:05:14 +08:00
joywayer and Claude Opus 4.8
490329e1dc
refactor(nav): 敌人移动改为物理原生架构——根治 TBM 与 Dynamic 刚体冲突
...
根因: NavAgent.Position setter 直接写 transform.position, TBM 段移动每帧写它, 与敌人
Dynamic 刚体(重力/碰撞)冲突(旧代码靠"NavDriving清零velocity"缓解,但对Dynamic刚体直接
写transform.position本就不推荐,易卡墙/穿透/被物理覆盖)。
根本解: 寻路降为"顾问"(只给方向),移动执行归物理:
- EnemyNavAgent.Awake 禁用 TBM.SegmentMovement(不再写 transform.position);
- FixedUpdate 改物理原生桥: 朝 PathSubGoal 写 MoveDir+MoveSpeed 由 EnemyMovement 施加
velocity+重力执行, 到达子目标时 CompleteSegmentTraversal 推进段(原由TBM负责);
- EnemyMovement 撤掉 NavDriving 的清零velocity/只朝向门, nav方向统一走velocity移动。
保留击退/击飞/落地等全部物理反馈。
附带修 PerceptionStateMachine: 追击维持改"追逐区 OR 视野区"任一(视野los可能被墙挡漏检,
仅靠视野会导致玩家在近身追逐区内却Chase↔Patrol抖动、nav被反复Stop不移动)。
PlayMode 验证: 敌人 nav 巡逻/追击均用velocity移动(FollowPath/onSeg=True)、追击稳定无抖动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-09 17:19:01 +08:00
joywayer and Claude Opus 4.8
643f63c737
fix(nav): 修复 nav 寻路核心用法——重寻路防抖 + allowCloseEnoughPath
...
根因1: PathBerserker2d NavAgent.UpdatePath 明确禁止每帧调用(路径计算跨帧,每帧重启则永不完成、
agent永不移动),而追击每帧 MoveTo→RequestMoveTo→UpdatePath。修: EnemyNavAgent.RequestMoveTo
加防抖(目标位移阈值0.5m + 最小间隔0.25s),让路径算完并跟随;StopNavigation 复位。
根因2: NavAgent.allowCloseEnoughPath 默认false→追击玩家(常不在导航段上)寻路直接失败。
修: 脚手架(4个PlaceExxx)+E001 prefab 设为 true(寻路到最近可达点)。
验证: 敌人 nav 巡逻/追击已能真正跟随路径移动(following=True)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-09 16:43:52 +08:00
joywayer and Claude Opus 4.8
790595d8de
fix(scaffold): 碰撞体底部对齐 y=0(原点=脚底) 修正 NavAgent 有效位置 + 追击改回nav
...
根因: NavAgent 用 transform 原点(0,0)判定是否在导航段上,而脚手架 CreateBodyCollider
未设 offset(碰撞体居中,底部在-size.y/2),站到地面时原点悬在导航线上方→HasValidPosition=False。
修复: AlignColliderBottomToPivot 让所有身体/HurtBox/HitBox 碰撞体底部对齐 y=0(通用规则,
角色/敌人/Boss 同理);同步修 E001 prefab 碰撞体 offset。验证: 敌人落地后 navValid=True(自动)。
追击能力改回 nav 寻路(MoveTo),不再直接移动。
注: 导航路径"跟随"仍有既有集成问题(UpdatePath 后 agent 不跟随可达路径),需另行排查。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-09 16:22:54 +08:00
joywayer and Claude Opus 4.8
d0f69b0599
fix(ai): E001 追击真正移动+攻击——直接水平爬行 + prefab 补挂 EnemyAiBrain
...
追击移动从 A* 寻路(MoveTo)改为直接朝玩家水平爬行(MoveInDirectionWithSpeed):
地面爬行怪不需寻路,且不依赖场景 NavGraph 烘焙(PathBerserker2d 在测试场景失效)。
ENM_CaoZhi prefab 补挂 EnemyAiBrain(_definitionId=E001),使对象池/prefab 生成的敌人也有AI
(此前只有脚手架场景实例有brain)。PlayMode 验证:敌人爬向玩家并接触伤害击杀。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-09 15:48:50 +08:00
joywayer and Claude Opus 4.8
eaf7469d66
docs(ai): spec 补充"敌人感知↔状态模型"(待机/警觉/追击/巡逻)
...
两感知(追逐/视野)+HasAlert勾选+统一规则(升级经警觉/降级永不回警觉)+缺省自动降级
+职责边界(转换归AI层,感知只做纯查询)+PerceptionStateMachine可复用件。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-09 15:11:44 +08:00
joywayer and Claude Opus 4.8
6c27993e09
feat(ai): 敌人感知↔状态模型——待机/警觉/追击/巡逻 + 可复用感知状态机
...
感知门面 EnemyBase.InChaseZone(追逐/aggro)/InVisionZone(视野/los,缺省回退aggro),纯查询;
转换逻辑归 AI 层: 新增可复用 PerceptionStateMachine(统一规则,HasAlert/视野缺省自动降级);
规则: 未发现进视野→警觉, 进追逐→追击(委托能力), 追击脱离视野→巡逻(永不回警觉,再进视野再警觉).
EnemyStatsSO.HasAlertState 勾选项; ContactChaseAbility 改纯执行器(退出由AI中断); E001 用可复用件.
PlayMode 验证四态转换全通过.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-09 15:10:39 +08:00
joywayer and Claude Opus 4.8
150fadb72e
fix(content): E001 能力/prefab 对齐设计——技能无CD、伪装期不伤人
...
ABL_E001_Chase/Alert cooldown 1.5→0(设计:E001无主动技能CD,再入感知立即追击);
ENM_CaoZhi prefab 与脚手架 PlaceE001 的 BodyContactDamage 初始禁用(伪装期不伤人,
追击期由 e001_chase 能力开启)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-03 16:52:03 +08:00
joywayer and Claude Opus 4.8
4ce798ea6e
refactor(ai): E001 AI 重写为纯决策层,符合设计并委托能力模块
...
依据小怪设计文档重构 E001 状态机 Idle_Disguise→Skill_Start→Skill_Loop→Skill_End→Move_Patrol:
追击移动/接触伤害全部委托 e001_chase(ContactChaseAbility),AI 不再裸 MoveTo。
新增 ISensor.DetectsPlayer(视线OR近身,对齐设计)、IMover.UseChase/PatrolSpeed、
IEnemyActor.SetPhase(AI 声明阶段、EnemyBase 播动画)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-03 16:51:47 +08:00
joywayer and Claude Opus 4.8
decd5503fb
fix(scaffold): 修复敌人感知 los 槽位——检测层 Nothing→Player、半径 0→8
...
原 SetupPerceptionSystemSlots 把 los 槽 detectLayer 置 0(Nothing)且 radius=0,
导致视线永远探不到玩家;改为 Player 层 + 半径 8,LOS 检测恢复正常。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-03 16:26:40 +08:00
joywayer and Claude Opus 4.8
63e241af92
fix(ai): AiRuntime 自转换设为no-op(根治死亡双发Died再入) + EnemyBase.OnSpawn复位brain.enabled + 测试
...
Switch 对 target==当前态直接 no-op(不重跑Exit/Enter),循环改为 if(Switch(t))return true;
OnSpawn 复用时恢复被 QuotaManager 裁剪禁用的 brain。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-03 16:26:28 +08:00
joywayer
d38c6e35bb
feat(ai): 脚手架 PlaceE001 一键挂载 EnemyAiBrain 并绑定 id=E001
2026-07-03 16:08:32 +08:00
joywayer
23a3a1c274
refactor(ai): EnemyBase/QuotaManager 移除 Opsive BT,改接 EnemyAiBrain(Brain访问器/Died信号/OnSpawn重置/LOD裁剪)
2026-07-03 15:10:55 +08:00
joywayer
a9acace0a0
feat(ai): E001(草蛭) AiScript 定义——巡逻/追击/搜查(接触伤害杂兵)
2026-07-03 15:03:27 +08:00
joywayer
4994360927
feat(ai): EnemyAiBrain 组件——承载 AiRuntime、逐帧推进、池复用重置、信号入口
2026-07-03 15:00:59 +08:00
joywayer
20c2568222
feat(ai): EnemyBrainContext——EnemyBase子系统适配为BrainGraph能力接口
2026-07-03 14:58:52 +08:00
joywayer
683a2d9ffb
feat(ai): AiDefinitionRegistry——反射按id提供共享AiGraph(关域重载重置)
2026-07-03 14:55:42 +08:00
joywayer and Claude Opus 4.8
80864eec6c
docs(ai): BrainGraph 接通敌人阶段(E001+脚手架一键)实现计划
...
AiDefinitionRegistry(反射按id取共享图)+EnemyBrainContext(单类适配)+EnemyAiBrain组件
+E001 AiScript+EnemyBase去BT接signal+SceneObjectPlacerTool一键挂载+PlayMode集成验证.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-03 14:52:22 +08:00
joywayer
11e4c9f1ea
refactor(ai): 终审收尾——删死字段/事件转换刷新IsSuspended + 局部事件与双实例独立性测试
2026-07-03 14:33:23 +08:00
joywayer
747d39072e
test(ai): BrainGraph 第1阶段收尾——flyweight 共享测试 + 全量绿
2026-07-03 14:26:01 +08:00
joywayer
d01df7b5f0
feat(ai): AiRuntime 事件转换(push,不受门限制)+trace触发原因+池复用测试
2026-07-03 14:23:28 +08:00
joywayer
5ad26b16e8
perf(ai): AiRuntime 热路径去装箱/弱表一次注册 + 补 OnExit/Entry OnEnter 测试
2026-07-03 14:20:19 +08:00
joywayer
cdd1053bec
feat(ai): AiRuntime 条件转换+IsControllable让位门+状态计时+trace+Reset
2026-07-03 14:13:36 +08:00
joywayer
0253fd15ca
refactor(ai): BrainGraph Task4 审查修复——删死字段/Global空目标校验/AiState只读转换
2026-07-03 14:09:43 +08:00
joywayer
6f9fa8c4b8
feat(ai): BrainGraph AiGraph + BrainBuilder(fluent, 显式标签, 目标校验)
2026-07-03 14:04:51 +08:00
joywayer
3d6cef1f41
feat(ai): BrainGraph Transition/AiState/TransitionRecord 数据结构
2026-07-03 14:00:27 +08:00
joywayer
7281c5cf6e
feat(ai): BrainGraph 能力接口(ISensor/IMover/ICombatant/IActorVitals)+IAiContext
2026-07-03 13:58:52 +08:00
joywayer
db5bd019f8
feat(ai): BrainGraph 核心程序集 + AiSignal + Blackboard(可自省)
2026-07-03 13:56:11 +08:00
joywayer and Claude Opus 4.8
2339b5cd87
docs(ai): BrainGraph 标签方案改为 C#9 兼容(显式可选字符串)
...
Unity 2022.3=C#9,不用 C#10 的 CallerArgumentExpression;When(cond,label)显式可选,
默认回退"cond";spec 示例与 Phase1 计划(Task4/5 测试)同步更新.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-03 13:51:34 +08:00
joywayer and Claude Opus 4.8
5155368201
docs(ai): BrainGraph 第1阶段(核心运行时)实现计划
...
TDD/EditMode 覆盖: 程序集+Blackboard+能力接口+Transition/AiState+AiGraph/BrainBuilder
+AiRuntime(条件/事件转换,IsControllable门,状态计时,trace,池复用重置); 后续4阶段路线图.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-03 13:42:01 +08:00
joywayer and Claude Opus 4.8
93431102ab
docs(ai): 补充 BrainGraph 多实例复用与对象池设计
...
共享 AiGraph(每类型1份 flyweight)+每实例 AiRuntime; lambda 禁实例捕获;
对象池回收再生须重置 AiRuntime; 调度错峰; 新增对应验收标准.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-03 13:29:34 +08:00
joywayer and Claude Opus 4.8
0ed7353d24
docs(ai): 敌人 AI 框架(BrainGraph)设计——HFSM 替换 Behavior Designer
...
C# 声明式为唯一事实来源, 可视化从模型自动生成; 只新建决策层+干净能力接口,
现有感知/移动/能力子系统保留; 受击物理FSM用 IsControllable 门显式让位;
交付面: 运行时调试器/Mermaid导出/MCP自省API; v1 试点 E001+ChaoFengBoss.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-03 13:01:49 +08:00
joywayer
c7dd125bc0
添加资源
2026-06-12 12:05:30 +08:00
joywayer and Claude Fable 5
f7eb2d4368
fix(editor): WeaponHitBoxWizard 补挂 WeaponFeedback——武器本地反馈链路接通
...
向导生成武器 HitBox Prefab 时在根节点添加 WeaponFeedback
(WeaponHitBoxInstance.Awake 经 GetComponentInChildren 获取)。
此前组件缺失,武器级命中/破风反馈静默落到 NullFeedbackPlayer。
MMF_Player 反馈链内容仍留待 Inspector 编排。存量
WPN_WPN_DiHun_HitBox.prefab 已另行补挂修正。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 11:59:35 +08:00
joywayer and Claude Fable 5
09bdda970a
feat(feedback): 命中/受击反馈支持固定位置与击中位置两种生成模式
...
DamageInfo 新增运行时字段 HitPoint:HitBox 结算时写入精确接触点
(ClosestPoint),HurtBox.ReceiveDamage 以解析后命中点兜底盖戳,
陷阱/环境等直调路径同样可用。IFeedbackPlayer.PlayHit/PlayTakeHit
增加命中点参数,全链路(武器实例→PlayerCombat→HurtState→
EnemyFeedback)透传。各 Feedback 组件命中/受击槽位新增
FeedbackPositionMode(Fixed=反馈链编排的固定位置 /
HitPoint=传入命中点,启用位置选项的模块在该点生成),由编排
反馈链的开发者在 Inspector 按表现选择;武器命中默认 HitPoint
(火花贴点),角色级默认 Fixed(震屏/振动与位置无关)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 11:48:37 +08:00
joywayer and Claude Fable 5
5ccab35948
feat(world): 检查点复活位置由 RespawnPoint 子节点显式配置
...
CheckpointMarker 新增 _respawnPoint 引用,注册的检查点位置改为
该子节点的位置——触发区与出生点解耦,触发区可横跨通道、出生点
精确落在安全平台上。漏配时 Awake 显式报错且不注册(不以标记
自身位置兜底)。Gizmos 增画复活点(青色)与触发区连线,漏配
画红叉警示。PlaceCheckpointMarker 脚手架自动创建并绑定
RespawnPoint 子节点。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 11:26:02 +08:00
joywayer and Claude Fable 5
bedb0f8ff4
fix(combat): 地刺死亡判定改从 HurtBox 向上查找——死亡不再误传回检查点
...
此前经 other.transform.root 查 IDamageable,玩家被临时挂到其他
父物体(如移动平台)下时 root 非玩家根节点而漏判死亡,导致致死
触碰仍 Raise EVT_CheckpointRespawn 与死亡流程撞车。改为
other.GetComponentInParent 从 HurtBox 自身向上查找,任何层级
结构下死亡均只走死亡流程,存活才回溯检查点。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 11:20:10 +08:00
joywayer and Claude Fable 5
01787e9c34
fix(world): 检查点标记闩锁随接触周期重置——折返重经标记可覆盖注册
...
CheckpointMarker._isActivated 此前一次性置位,玩家折返重新经过
早先的标记不会再注册,"最近经过的为准"对回头路失效。改为
OnTriggerExit2D 重置闩锁:每次重新进入触发区都覆盖注册最近
检查点,同一次接触内仍只注册/广播一次。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 11:16:08 +08:00
joywayer and Claude Fable 5
613f93c13e
fix(combat): 地刺闩锁随接触周期重置——检查点回溯后陷阱恢复生效
...
LethalTrap._triggered 此前仅在 OnEnable 重置,存活回检查点路径
不重载场景,首次触发后陷阱永久失效。改为 OnTriggerExit2D(玩家
HurtBox 离开触发区,含传送移位)重置闩锁:同一次接触内仍只结算
一次,下一次触碰重新生效;死亡路径仍经场景重载由 OnEnable 重置。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 11:10:51 +08:00
joywayer and Claude Fable 5
64822595b3
fix(player): 补挂 CheckpointRespawnHandler——存活回检查点链路接通
...
PlacePlayer 脚手架新增 CheckpointRespawnHandler 并自动绑定
EVT_CheckpointRespawn/EVT_FadeOutRequest/EVT_FadeInRequest;
Player.prefab 同步补挂修正。此前 LethalTrap 存活路径 Raise 的
EVT_CheckpointRespawn 无任何监听者,玩家不会被传送回检查点。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 11:04:33 +08:00
joywayer and Claude Opus 4.8
862a1e5899
fix(combat): 弹反阵营感知——仅玩家弹反才翻转投射物阵营与目标层
...
新增 Projectile.ReflectBy(parrier):按弹反者根节点 Tag 区分阵营。玩家弹反走原 ReflectAsPlayerProjectile(切 PlayerProjectile 层+切换伤害目标层);敌人弹反敌人投射物时阵营层与目标层均保持不变(仍是敌方投射物、仍打玩家侧),仅反转方向并重置命中记录与预算。HurtBox 弹反分支改传弹反者 Transform;ParryableProjectile 手写弹反分支同步加阵营判断。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 10:49:23 +08:00