mirror of
https://github.com/waynebian01/Shigure.git
synced 2026-09-03 07:15:24 +08:00
更新文档,完善目标/焦点单位类型与驱散类型描述,添加相关源文件与符号,调整验证日期
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Fuyutsui 目标焦点与敌人数
|
||||
summary: 说明目标/焦点的类型、距离、生命和施法状态,以及姓名板驱动的敌人数与仇恨统计。
|
||||
summary: 说明目标/焦点的单位类型、驱散类型、距离、生命和施法状态,以及姓名板驱动的敌人数与仇恨统计。
|
||||
aliases:
|
||||
- Fuyutsui Target Focus
|
||||
- Fuyutsui 敌人数
|
||||
@@ -21,6 +21,8 @@ related:
|
||||
source_files:
|
||||
- Fuyutsui/core/target.lua
|
||||
- Fuyutsui/core/stateblocks.lua
|
||||
- Fuyutsui/core/block.lua
|
||||
- Fuyutsui/core/spells.lua
|
||||
- Fuyutsui/core/events.lua
|
||||
- Fuyutsui/core/core.lua
|
||||
source_symbols:
|
||||
@@ -28,9 +30,11 @@ source_symbols:
|
||||
- Fuyutsui:UpdateUnitFullInfo
|
||||
- Fuyutsui:UpdateUnitType
|
||||
- Fuyutsui:UpdateUnitRangeBlock
|
||||
- GetUnitDispelStateIndex
|
||||
- AddUnitDispelSlots
|
||||
- Fuyutsui:AddNameplate
|
||||
- Fuyutsui:UpdateEnemyCount
|
||||
verified_at: 2026-08-09
|
||||
verified_at: 2026-08-19
|
||||
---
|
||||
|
||||
# Fuyutsui 目标焦点与敌人数
|
||||
@@ -41,18 +45,19 @@ verified_at: 2026-08-09
|
||||
|
||||
## AI 快速摘要
|
||||
|
||||
> `core/target.lua` 为 `target` 和 `focus` 分别维护缓存,输出类型、可攻击/协助、距离、死亡、生命和施法状态。姓名板事件维护另一张敌人缓存,0.2 秒轮询距离与战斗状态后输出总敌人数,并在仇恨事件中拆分有/无仇恨数量。目标/焦点状态使用带分类前缀的键,不与玩家裸状态键冲突。
|
||||
> `core/target.lua` 为 `target` 和 `focus` 分别维护缓存,输出类型、距离、死亡、生命和施法状态;`core/block.lua` 的 AuraContainer 写入与类型相邻的目标/焦点驱散类型槽。类型值通过 `UnitIsUnit()` 识别实际对应的 raid/player/party/boss 单位,友方在基础编号上加 100;驱散类型则按当前可处理光环的类别输出固定编号。姓名板事件维护另一张敌人缓存,0.2 秒轮询距离与战斗状态后输出总敌人数,并在仇恨事件中拆分有/无仇恨数量。
|
||||
|
||||
## 范围与非范围
|
||||
|
||||
本页覆盖单位快照与姓名板聚合,不覆盖目标/焦点光环的筛选与持续时间,后者见 [[20-Fuyutsui/08-Fuyutsui-光环容器本地集成]]。队伍距离和治疗范围见 [[20-Fuyutsui/07-Fuyutsui-队伍与治疗吸收]]。
|
||||
本页覆盖单位快照、目标/焦点类型与驱散类型编码,以及姓名板聚合。驱散类型在这里只记录字段关系和生产契约;AuraContainer 的完整过滤、布局和生命周期见 [[20-Fuyutsui/08-Fuyutsui-光环容器本地集成]]。队伍距离和治疗范围见 [[20-Fuyutsui/07-Fuyutsui-队伍与治疗吸收]]。
|
||||
|
||||
## 输入与输出
|
||||
|
||||
| 输入 | 缓存/计算 | 输出字段族 |
|
||||
|---|---|---|
|
||||
| `target`、`focus` 单位 API | `Fuyutsui.target`、`Fuyutsui.focus` | 类型、距离、生命、施法/引导、可打断 |
|
||||
| LibRangeCheck | `minRange`、`maxRange`、`inRange` | 目标/焦点距离与类型中的范围位 |
|
||||
| AuraContainer + 当前驱散能力 | 目标/焦点友方 HARMFUL、敌方 HELPFUL 驱散槽 | 目标驱散类型、焦点驱散类型 |
|
||||
| LibRangeCheck | `minRange`、`maxRange`、`inRange` | 目标/焦点距离 |
|
||||
| 姓名板增删事件 | `Fuyutsui.nameplate[unit]` | 当前可计数单位集合 |
|
||||
| 仇恨和战斗 API | `threatStatus`、`affectingCombat` | 敌人数、有仇恨、无仇恨 |
|
||||
| 地图/遭遇状态 | 特例过滤 | 是否把特定单位计入聚合 |
|
||||
@@ -96,15 +101,48 @@ NAME_PLATE_UNIT_REMOVED
|
||||
-> 从缓存删除
|
||||
```
|
||||
|
||||
## 单位类型编码
|
||||
## 目标/焦点类型与驱散类型
|
||||
|
||||
`UpdateUnitType()` 根据死亡、敌友关系、驱散能力和范围计算离散值:
|
||||
这两组字段在状态布局中分别成对出现,但编码含义彼此独立:
|
||||
|
||||
- 不存在、死亡或无法分类时为 0。
|
||||
- 可攻击敌对单位以 `1/255` 为基础;具体驱散/范围信息由 `target.enemyCurve` 编入。
|
||||
- 可协助友方单位以 `11/255` 为基础;可驱散类型由 `target.friendCurve` 编入。
|
||||
| 目标字段 | 焦点字段 | 数据来源 | 含义 |
|
||||
|---|---|---|---|
|
||||
| `目标类型` | `焦点类型` | `UpdateUnitType()` | 单位 token 编号,并以 `+100` 区分友方 |
|
||||
| `目标驱散类型` | `焦点驱散类型` | AuraContainer dispel 槽 | 当前可处理光环的驱散类别 |
|
||||
|
||||
这些曲线在 `UpdateSpellKnown()` 中按当前角色实际驱散能力重建,因此目标“类型”同时依赖法术已知状态;它不是单纯的敌友布尔值。
|
||||
### 类型编码
|
||||
|
||||
`UpdateUnitType()` 先通过 `UnitIsUnit(unit1, unit2)` 判断 `target` 或 `focus` 实际对应的单位 token,再编码为 `index/255`。匹配按 raid、player、party、boss 的顺序执行;全部不匹配时使用“其他”编号。不存在或死亡的单位输出 0。
|
||||
|
||||
| 实际单位 | 基础 index | 非友方/敌方输出 | 友方 index(基础值 + 100) | 友方输出 |
|
||||
|---|---:|---:|---:|---:|
|
||||
| `raid1..raid40` | 1..40 | `1..40 / 255` | 101..140 | `101..140 / 255` |
|
||||
| `player` | 41 | `41 / 255` | 141 | `141 / 255` |
|
||||
| `party1..party4` | 42..45 | `42..45 / 255` | 142..145 | `142..145 / 255` |
|
||||
| `boss1..boss5` | 46..50 | `46..50 / 255` | 146..150 | `146..150 / 255` |
|
||||
| 其他 | 51 | `51 / 255` | 151 | `151 / 255` |
|
||||
|
||||
友方判定直接使用 `UnitCanAssist("player", unit)`;类型值不再包含距离、驱散能力或法术已知状态。由于 raid 优先匹配,玩家或队友处于团队中时输出对应的 raid 编号,而不是 player/party 编号。
|
||||
|
||||
### 驱散类型编码
|
||||
|
||||
`目标驱散类型` 与 `焦点驱散类型` 的普通状态 getter 固定返回 0;实际颜色由 AuraContainer 直接覆盖对应像素。`GetUnitDispelStateIndex()` 找到这两个状态槽,`AddUnitDispelSlots()` 为每个单位各建立两条互斥链路:
|
||||
|
||||
- 友方单位读取 `HARMFUL` 光环,只启用玩家当前 `includeDispelTypes` 能处理的防御驱散类型。
|
||||
- 敌方单位读取 `HELPFUL` 光环,只启用玩家当前 `includeOffensiveDispelTypes` 能处理的进攻驱散类型。
|
||||
- 没有匹配光环、单位反应不符或玩家无对应驱散能力时保持 0。
|
||||
- 多个候选按到期时间排序;像素表达被选中光环的驱散类别,不表达剩余时间。
|
||||
|
||||
| 驱散类别 | index | 输出 |
|
||||
|---|---:|---:|
|
||||
| Magic | 1 | `1 / 255` |
|
||||
| Curse | 2 | `2 / 255` |
|
||||
| Disease | 3 | `3 / 255` |
|
||||
| Poison | 4 | `4 / 255` |
|
||||
| Enrage | 9 | `9 / 255` |
|
||||
| Bleed | 11 | `11 / 255` |
|
||||
|
||||
两类输出不能混读:例如 `1/255` 在“类型”槽表示 `raid1`,在“驱散类型”槽表示 Magic。目标与焦点使用相同编码表,区别仅由各自的状态槽位置决定。
|
||||
|
||||
## 距离、生命与施法
|
||||
|
||||
@@ -129,15 +167,18 @@ NAME_PLATE_UNIT_REMOVED
|
||||
|
||||
- `GetUnitCache()` 当前只为 `target` 和 `focus` 返回缓存;虽然 `unitZHMap` 列出 `boss1..boss5`,这些 boss token 目前不会进入该通用更新链。
|
||||
- 状态键为 `目标类型`、`焦点类型` 这类“分类+名称”组合,必须与 `LoadPlayerBlocks()` 完全一致。
|
||||
- 类型曲线必须在角色法术已知状态改变后重建,否则驱散能力位会过时。
|
||||
- 单位身份比较统一经过 `isSameUnit()`,其内部先保存 `local isSame = UnitIsUnit(unit1, unit2)` 再返回结果。
|
||||
- raid 必须先于 player/party 匹配;否则同一团队成员可能被编码到不同编号空间。
|
||||
- 类型槽与驱散类型槽必须按各自字段解释;相同蓝通道值不代表相同业务语义。
|
||||
- 驱散类型槽由 AuraContainer 覆盖,普通 getter 必须保持 0,避免无匹配光环时残留旧值。
|
||||
- 姓名板缓存必须在移除事件删除;否则单位 token 重用会污染计数。
|
||||
- 敌人数除以 255,消费端不能把 `B` 直接当原始整数。
|
||||
|
||||
## 失败模式与当前风险
|
||||
|
||||
1. **初始类型可能长期使用空缓存字段。** `UpdatePlayerBlocks()` 调用目标/焦点类型、距离和生命更新,但没有先调用 `UpdateUnitCanAttack()`;若启用时已有单位且未再触发 target/focus change,类型可能保持 0。
|
||||
2. **距离未知时像素陈旧。** LibRangeCheck 可返回 `nil`;getter/更新器没有为所有未知分支强制写哨兵,旧距离像素可能保留。
|
||||
3. **boss 映射是未完成入口。** `unitZHMap` 有 `boss1..5`,但 `GetUnitCache()` 不支持它们;仅增加事件调用不会产生输出。
|
||||
1. **距离未知时像素陈旧。** LibRangeCheck 可返回 `nil`;getter/更新器没有为所有未知分支强制写哨兵,旧距离像素可能保留。
|
||||
2. **boss 缓存仍不是独立入口。** 目标/焦点类型可以识别其是否与 `boss1..boss5` 相同,但 `GetUnitCache()` 仍只支持 `target` 和 `focus`;不能据此直接为 boss token 刷新完整状态。
|
||||
3. **驱散能力可能过时。** 学会、遗忘技能或切换专精后若未运行 `UpdateSpellKnown()`,目标/焦点驱散槽仍会使用旧的能力集合。
|
||||
4. **姓名板覆盖不完整。** 未显示姓名板、客户端未创建或刚被移除的敌人不会计数。
|
||||
5. **硬编码副本规则会过时。** `testMap`/`testEncounter` 需要随版本验证,不能泛化为所有副本。
|
||||
6. **受保护值。** 新版 WoW 的 secret value 若被直接比较、索引或打印会报错;新增单位逻辑需沿用安全检查策略。
|
||||
@@ -145,19 +186,22 @@ NAME_PLATE_UNIT_REMOVED
|
||||
## 修改影响
|
||||
|
||||
- 增加 boss 单位支持需同时新增缓存、状态声明、事件入口和 C# 配置字段。
|
||||
- 更改类型枚举或驱散曲线时同步 [[20-Fuyutsui/06-Fuyutsui-法术与物品冷却]] 与 Shigure 的业务判断。
|
||||
- 更改类型编号、匹配优先级或友方偏移时同步 Shigure 的业务判断。
|
||||
- 更改驱散类型编号或过滤能力时同步 [[20-Fuyutsui/06-Fuyutsui-法术与物品冷却]]、[[20-Fuyutsui/08-Fuyutsui-光环容器本地集成]] 与 Shigure 的业务判断。
|
||||
- 更改敌人数口径时记录地图、战斗和范围边界;它会直接改变 AoE/目标选择策略。
|
||||
- 更改目标/焦点字段名或顺序需重新生成配置,遵循 [[40-跨项目/02-Shigure-ClassBlocks到config同步契约]]。
|
||||
|
||||
## 源码索引
|
||||
|
||||
- `Fuyutsui/core/target.lua:10-38`:距离 API、单位名映射、缓存和类型基础值。
|
||||
- `Fuyutsui/core/target.lua:40-114`:类型、射程、施法、死亡和生命通用更新。
|
||||
- `Fuyutsui/core/target.lua:116-164`:target/focus 包装入口。
|
||||
- `Fuyutsui/core/target.lua:166-234`:姓名板缓存、仇恨与敌人数。
|
||||
- `Fuyutsui/core/stateblocks.lua:229-253`:目标/焦点 getter。
|
||||
- `Fuyutsui/core/target.lua:10-69`:距离 API、单位名映射、缓存、单位身份匹配和类型编码。
|
||||
- `Fuyutsui/core/target.lua:71-145`:类型、射程、施法、死亡和生命通用更新。
|
||||
- `Fuyutsui/core/target.lua:148-195`:target/focus 包装入口。
|
||||
- `Fuyutsui/core/target.lua:197-265`:姓名板缓存、仇恨与敌人数。
|
||||
- `Fuyutsui/core/stateblocks.lua:235-261`:目标/焦点类型、驱散类型及其他 getter。
|
||||
- `Fuyutsui/core/block.lua:738-807,907-947`:目标/焦点驱散过滤、颜色编号与槽创建。
|
||||
- `Fuyutsui/core/spells.lua:152-207`:防御/进攻驱散类型名称和当前能力集合。
|
||||
- `Fuyutsui/core/events.lua:204-250,361-389,425-435`:相关事件与 0.2 秒轮询。
|
||||
|
||||
## 知识图谱
|
||||
|
||||
本页由 [[20-Fuyutsui/02-Fuyutsui-事件与刷新调度]] 驱动,通过 [[20-Fuyutsui/03-Fuyutsui-状态块与编码入口]] 输出单位像素;类型曲线依赖 [[20-Fuyutsui/06-Fuyutsui-法术与物品冷却]] 的驱散能力,目标/焦点光环由 [[20-Fuyutsui/08-Fuyutsui-光环容器本地集成]] 补充。
|
||||
本页由 [[20-Fuyutsui/02-Fuyutsui-事件与刷新调度]] 驱动,通过 [[20-Fuyutsui/03-Fuyutsui-状态块与编码入口]] 输出单位像素;目标/焦点驱散能力来自 [[20-Fuyutsui/06-Fuyutsui-法术与物品冷却]],AuraContainer 写入机制见 [[20-Fuyutsui/08-Fuyutsui-光环容器本地集成]]。
|
||||
|
||||
@@ -33,7 +33,7 @@ source_symbols:
|
||||
- Fuyutsui:UpdateItemCooldown
|
||||
- Fuyutsui:CreateAutoLayoutBar
|
||||
- Fuyutsui.spellsList
|
||||
verified_at: 2026-08-09
|
||||
verified_at: 2026-08-19
|
||||
---
|
||||
|
||||
# Fuyutsui 法术与物品冷却
|
||||
@@ -69,7 +69,7 @@ verified_at: 2026-08-09
|
||||
| 法术书/天赋状态 | 已知法术筛选、`forcedKnown`/`inSpellBook` 例外 | 可更新集合;未知法术写 255 |
|
||||
| Cooldown/Charge Duration | 经 `curve255` 求剩余时间颜色 | `B=0..255` |
|
||||
| `castCount`、`maxCharge` | CountBars 自动布局 | 横向计数条 |
|
||||
| 已知驱散法术 | 构建友方/敌方类型曲线与光环驱散过滤 | 目标类型、队伍驱散槽 |
|
||||
| 已知驱散法术 | 构建驱散能力、旧友方/敌方曲线与光环驱散过滤 | 队伍及目标/焦点驱散槽;旧曲线当前不参与单位类型输出 |
|
||||
| 物品数量/冷却 API | 状态 getter 读取 | 药水、治疗石等物品状态 |
|
||||
|
||||
## 执行链路
|
||||
@@ -80,7 +80,7 @@ verified_at: 2026-08-09
|
||||
-> blocks.spells 过滤到本地 spells
|
||||
-> 未知项主槽/充能槽写 255
|
||||
-> 计算 defensive/offensive dispel 能力
|
||||
-> 重建目标类型曲线和 AuraContainer dispel 过滤
|
||||
-> 重建旧友方/敌方曲线和 AuraContainer dispel 过滤
|
||||
|
||||
每 0.2 秒
|
||||
-> UpdateSpellCooldown()
|
||||
@@ -119,9 +119,9 @@ verified_at: 2026-08-09
|
||||
|
||||
- `dispelCapabilities`、`offensiveDispelCapabilities`。
|
||||
- `includeDispelTypes`,供队伍 AuraContainer 过滤。
|
||||
- `dispelCurve`、`target.friendCurve`、`target.enemyCurve`,把驱散类别叠入单位类型像素。
|
||||
- `dispelCurve`、`target.friendCurve`、`target.enemyCurve`。其中 friend/enemy 曲线仍会重建,但当前 `UpdateUnitType()` 已改为单位 token 编号,不再读取它们。
|
||||
|
||||
这解释了法术学习变化为何会影响 [[20-Fuyutsui/05-Fuyutsui-目标焦点与敌人数]] 和 [[20-Fuyutsui/08-Fuyutsui-光环容器本地集成]]。
|
||||
因此法术学习变化会影响 [[20-Fuyutsui/08-Fuyutsui-光环容器本地集成]] 的驱散过滤,但不会改变 [[20-Fuyutsui/05-Fuyutsui-目标焦点与敌人数]] 的目标/焦点类型编号。
|
||||
|
||||
## 横向技能条
|
||||
|
||||
@@ -160,7 +160,7 @@ ItemID 是版本敏感数据;新增同类物品必须更新聚合列表和相
|
||||
- 修改职业 `spells` 后必须执行 ClassBlocks→config 同步,见 [[40-跨项目/02-Shigure-ClassBlocks到config同步契约]]。
|
||||
- 修改冷却哨兵、曲线或 GCD 规则时同步 Shigure 的状态判断和测试。
|
||||
- 修改横向条预留/终点布局时同步 [[30-Shigure/02-Shigure-像素扫描与协议解码]]。
|
||||
- 增加驱散类型或能力表时同时检查目标类型曲线、队伍 dispel 槽和 AuraContainer 过滤。
|
||||
- 增加驱散类型或能力表时同时检查旧友方/敌方曲线、队伍 dispel 槽和 AuraContainer 过滤;不要假定旧曲线仍参与目标/焦点类型输出。
|
||||
- 在合入职业表前自动检查“当前专精 SpellID 唯一”和“导出字段名唯一”。
|
||||
|
||||
## 源码索引
|
||||
@@ -175,4 +175,4 @@ ItemID 是版本敏感数据;新增同类物品必须更新聚合列表和相
|
||||
|
||||
## 知识图谱
|
||||
|
||||
本页使用 [[20-Fuyutsui/03-Fuyutsui-状态块与编码入口]] 的主行与 CountBars,向 [[20-Fuyutsui/05-Fuyutsui-目标焦点与敌人数]] 提供类型曲线、向 [[20-Fuyutsui/08-Fuyutsui-光环容器本地集成]] 提供驱散过滤;其配置同步边界由 [[40-跨项目/02-Shigure-ClassBlocks到config同步契约]] 管理。
|
||||
本页使用 [[20-Fuyutsui/03-Fuyutsui-状态块与编码入口]] 的主行与 CountBars,并向 [[20-Fuyutsui/08-Fuyutsui-光环容器本地集成]] 提供驱散过滤;目标/焦点类型编号由 [[20-Fuyutsui/05-Fuyutsui-目标焦点与敌人数]] 独立定义,其配置同步边界由 [[40-跨项目/02-Shigure-ClassBlocks到config同步契约]] 管理。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Fuyutsui 光环容器本地集成
|
||||
summary: 说明当前直接位于 core/block.lua 的 Blizzard AuraContainer 集成、持续/永久槽配对、反应过滤、层数条和队伍光环。
|
||||
summary: 说明当前直接位于 core/block.lua 的 Blizzard AuraContainer 集成、持续/永久槽配对、目标/焦点驱散槽、反应过滤、层数条和队伍光环。
|
||||
aliases:
|
||||
- Fuyutsui AuraContainer
|
||||
- Fuyutsui 光环槽
|
||||
@@ -16,6 +16,7 @@ up:
|
||||
- "[[20-Fuyutsui/00-Fuyutsui-MOC]]"
|
||||
related:
|
||||
- "[[50-参考资料/AuraContainer_AI_Reference_zh-CN]]"
|
||||
- "[[20-Fuyutsui/05-Fuyutsui-目标焦点与敌人数]]"
|
||||
- "[[20-Fuyutsui/06-Fuyutsui-法术与物品冷却]]"
|
||||
- "[[20-Fuyutsui/07-Fuyutsui-队伍与治疗吸收]]"
|
||||
source_files:
|
||||
@@ -26,18 +27,20 @@ source_files:
|
||||
source_symbols:
|
||||
- EnsureAuraContainerLoaded
|
||||
- AddDurationAuraSlotPair
|
||||
- GetUnitDispelStateIndex
|
||||
- AddUnitDispelSlots
|
||||
- Fuyutsui:RefreshUnitAuraContainers
|
||||
- Fuyutsui:LayoutAuraApplicationBars
|
||||
- Fuyutsui:RefreshGroupAuraContainers
|
||||
- Fuyutsui:RebindAuraSpellFilters
|
||||
verified_at: 2026-08-09
|
||||
verified_at: 2026-08-19
|
||||
---
|
||||
|
||||
# Fuyutsui 光环容器本地集成
|
||||
|
||||
上级:[[20-Fuyutsui/00-Fuyutsui-MOC]]
|
||||
|
||||
相关:[[50-参考资料/AuraContainer_AI_Reference_zh-CN]] · [[20-Fuyutsui/06-Fuyutsui-法术与物品冷却]] · [[20-Fuyutsui/07-Fuyutsui-队伍与治疗吸收]]
|
||||
相关:[[50-参考资料/AuraContainer_AI_Reference_zh-CN]] · [[20-Fuyutsui/05-Fuyutsui-目标焦点与敌人数]] · [[20-Fuyutsui/06-Fuyutsui-法术与物品冷却]] · [[20-Fuyutsui/07-Fuyutsui-队伍与治疗吸收]]
|
||||
|
||||
## AI 快速摘要
|
||||
|
||||
@@ -63,6 +66,7 @@ verified_at: 2026-08-09
|
||||
|---|---|---|
|
||||
| `ClassBlocks.auras.player` | 玩家 AuraContainer 槽对 | 顶部持续/永久光环像素 |
|
||||
| target/focus harmful/helpful | 对应单位容器及反应过滤 | 顶部目标/焦点光环像素 |
|
||||
| `目标驱散类型`、`焦点驱散类型` + 当前驱散能力 | 每单位友方 HARMFUL/敌方 HELPFUL dispel 槽 | 固定驱散类型色;编码与目标/焦点类型并列记录在目标专题 |
|
||||
| 玩家光环 `maxApps` | 额外应用层数 StatusBar | `FuyutsuiCountBars` |
|
||||
| `group.aura[offset]` | 每成员 `HELPFUL|PLAYER` 槽 | 成员块中的持续/永久像素 |
|
||||
| `group.dispel` + 当前驱散能力 | 每成员 HARMFUL dispel 槽 | 成员块中的固定驱散类型色 |
|
||||
@@ -120,6 +124,8 @@ WoW 在敌对单位上处理 `HELPFUL`、友方单位上处理 `HARMFUL` 时,S
|
||||
|
||||
这套顺序用于避免槽错误落到单位的“第一个任意光环”。
|
||||
|
||||
同一单位容器还会通过 `GetUnitDispelStateIndex()` 定位 `目标驱散类型` 或 `焦点驱散类型` 状态槽,并按友方 HARMFUL、敌方 HELPFUL 两条链路写入固定驱散类别。字段关系和完整编号表统一见 [[20-Fuyutsui/05-Fuyutsui-目标焦点与敌人数#目标/焦点类型与驱散类型]];本页只说明 AuraContainer 实现。
|
||||
|
||||
## 玩家应用层数条
|
||||
|
||||
只有 `maxApps` 的玩家光环会生成层数条:
|
||||
|
||||
Reference in New Issue
Block a user