来源与附着对象
这是个什么属性
除了 AttachEffectTypes 内配置的 AE 对象固有属性,如自动武器是否只发射一次,叠层检测到底检测几层外
任何AE都有两个在实际使用中才会产生的固有属性:
- 附着对象是谁
- 和AE来源是谁
许多 AE 的效果器都涉及到附着对象和 AE 来源,如果你只读 INI 的语句含义,那么无法理解 AE ini如何运作,必须根据给出的规则想象物体之间的互动和 AE 溯源 AE 链条的传递。
这个属性怎么构成
假设有单位 A,单位 B 两个单位,A 发射武器 P,使用弹头 W,抛射体 P,攻击 B。
对于一般情况
如 P 上写着 AttachEffectTypes=AE,则 AE 的附着对象为 P,来源为 A。
如 W 上写着 AttachEffectTypes=AE,命中 B 后,AE 附着在 B 上,来源为 A。
如上述 W 上写着 AttachToSource=yes,命中 B 后,AE 附着在 A 上,来源为 B。
如果 W 上写的 AE 是自伤,则 B 受到来自 A 的伤害(正常结算击杀经验),搭配 ForceMission 弹头即可达成点对点的嘲讽。
如果 W 上写着的 AE 是礼物盒,且 GiftBox.Remove=no,则 A 打完 B,B 身上生成 C 后。
- 如果礼物盒 AE 中指定
GiftBox.AttachEffects,则 C 获得来自 B(生成 C 的物体来源,而非礼物盒 AE 来源)的 AE。
对于广播的情况
如 W 上写着的 AE 是 ReceiverOwn=no 的广播,则命中后,B 获得广播效果,粘贴 AE2,则所有广播对其他对象产生的 AE2 都来自于 A
如果上述广播 ReceiverOwn=yes,则所有广播产生的 AE2 都来自于 B。
对于复仇类的情况
如果 W 上写着的 AE 是复仇类效果,则 A 打完 B 后,B 获得来自 A 的复仇。
Revenge.FromSource=yes时,将会从 A 上发射武器或附着 AE。Revenge.ToSource=yes时,将会发射武器或附着 AE 到 A 上。
对于叠层检测的情况
如果 W 上写着的 AE 是叠层检测,条件通过后粘贴 AE2,则 A 打完 B 后,B 获得来自 B 的 AE2。
如果上述的叠层检测 Stack.AttachToSource=yes,则AE2的去向是 A(跟随检测器来源),来源是 B。
因为叠层检测用处广泛,且经常互相嵌套,其来源和附着对象常常乱成一团,在复杂 ini 中把人耍得团团转。嵌套时,必须理清相互的关系。
对于武器标记的情况
如果你使用 AutoWeapon.IsAttackerMark=yes 启用了武器标记,
- 若
AutoWeapon.ReceiverAttack=yes,意思为自动武器标记 AE 将会使得这个 AE 的附着对象发射武器到 AE 的来源。 - 若
AutoWeapon.ReceiverAttack=no,则 AE 的来源发射武器到 AE 的附着对象。
如果你的 ini 设计中存在许多 AE 嵌套,且你想和人讨论你的设计图,那么你必须声明其中所有的AE从哪里来,到哪里去,如果用效果贴,那么谁给谁贴。如此你的设计才是语言层面上可理解的。