You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AdLike2048/docs/需求-战斗Buff阵营语义.md

44 lines
2.3 KiB

3 weeks ago
# 需求:战斗 Buff 阵营语义
> 日期:2026-09-05
> 主被动配表文案中的「我方」须按下表区分,禁止把三类目标混用。
## 三类目标
| 文案用语 | 画面位置(本机视角) | 逻辑含义 |
|----------|----------------------|----------|
| **我方单位** | **己侧**棋盘上的战斗塔/神将(字块合成体) | `Player.deployedUnits`;CampArea=本机侧 |
| **我方出征兵将** | 往**对面基地**行军的怪(多出现在对面半场路径上) | 本机出怪口派出、进攻对方基地的行军单位 |
| **我方基地** | **己侧**扣墙血的那块营地区域 | `players[localPlayerId].wallHp` |
双人约定(与 `LevelWaveParser` 一致):
- port1 = 本机出征 → 攻 AI 基地(`Team.ownerId=1`)
- port2 = AI 出征 → 攻本机基地(`Team.ownerId=0`)
- 出征方 `marchOwner = 1 - Team.ownerId`(`ownerId` 为被进攻方)
## 配表对照(易混)
| functiontype | 名称 | 作用对象 |
|--------------|------|----------|
| 2 / 7 / 17 / 18 | 封神榜、授仙箓、攻速符、千里眼 | **我方单位**(己侧场上) |
| 27 | 九天天鼓 | **我方单位** 攻速 |
| 12 | 云麾号角 | **我方出征兵** 移速 |
| 14 / 15 | 还魂丹、补元丹 | **我方出征兵** 复活 / 血量 |
| 6 | 镇宅牌 | **我方基地** 墙血 |
| 13 | 万神幡 | 拖到 **我方基地**/出怪口 |
| 20 | 九霄神雷 | 接近 **我方基地** 的敌军 |
| 23 | 弱水 | 进攻 **我方基地** 的敌军移速 |
AI 携带时:上述「我方」一律换成 AI 侧对称目标(AI 场上塔 / AI 出征兵 / AI 基地)。
**例外 · 万神幡(functiontype=13):** AI 持有并施放时,**不**走 AI 出怪口;改为给本机玩家加一只出征 Boss(关卡 boss 池随机,与玩家自用同一套 `BattleGameExtraBossSkill`),从**玩家出怪口**出现并进攻 AI 基地。
**例外 · 云麾号角(functiontype=12):** AI 持有时,**不**加速 AI 出征兵;改为加速**本机玩家出征兵**(玩家出怪口派出、进攻 AI 基地的行军怪)。双方均携带时万分比叠加。
## 实现入口
- 出征方解析:`resolveMarchOwnerPlayerId`(`BattleBuffSideResolve.ts`)
- 场上单位:`BattleBuffUnitAttackSpeedHost` 等读 `deployedUnits`
- 基地:`BattleRuntime` / `AiBattleBridge` 改对应 `players[pid].wall*`