跳转到内容
RA2DIY-WIKI 当前处于维护模式:页面上的内容随时可能发生更改且不会事先告知。

来源与附着对象

来自RA2DIY

这是个什么属性

除了 AttachEffectTypes 内配置的 AE 对象固有属性,如自动武器是否只发射一次,叠层检测到底检测几层外

任何AE都有两个在实际使用中才会产生的固有属性:

  • 附着对象是谁
  • AE来源是谁

许多 AE 的效果器都涉及到附着对象和 AE 来源,只读 INI 的语句含义最终绝对无法理解 AE ini如何运作,必须根据给出的规则想象物体之间的互动和 AE 溯源/ AE 链条的传递。

这个属性怎么构成


假设有单位 A,单位 B 两个单位,A 发射武器 P,使用弹头 W,抛射体 P,攻击 B

对于一般情况

如 P 上写着 AttachEffectTypes=AE,则 AE 的附着对象为 P,来源为 A

但是如果 P 上的 AE 是自动武器,此自动武器永远视为 A 发射的(因为只有单位可以发射武器),而不是抛射体 P 发射的,用抛射体上的自动武器贴上的 AE 来源一律视为 A 而不是抛射体 P。

如 W 上写着 AttachEffectTypes=AE,命中 B 后,AE 附着在 B 上,来源为 A

如上述 W 上写着 AttachToSource=yes,命中 B 后,AE 附着在 A 上,来源为 B

如果 W 上写的 AE 是自伤,则 B 受到来自 A 的伤害(正常结算击杀经验),搭配 ForceMission 弹头即可达成点对点的嘲讽。

如果 W 上写着的 AE 是礼物盒,则 A 打完 BB 身上生成 C

  • 如果礼物盒 AE 中指定 GiftBox.AttachEffects,且 GiftBox.Remove=no,则B不会移除, 生成所属方和 A 相同的 C ,获得来自 B(生成 C 的物体来源,而非礼物盒 AE 来源)的 AE。
  • 如果礼物盒 AE 中指定 GiftBox.AttachEffects,且 GiftBox.Remove=yes,则B移除,生成所属方和 A 相同的 CC 无法和 B 互动,身上的 AE 来源已经没有意义,毕竟 B 已经移除了。
  • 如果需要保持 CB 的所属一致,礼物盒 AE 需要写上 ReceiverOwn=yes

对于广播的情况


如 W 上写着的 AE 是 ReceiverOwn=no 的广播,则命中后,B 获得广播效果,粘贴 AE2,则所有广播对其他对象产生的 AE2 都来自于 A

如果上述广播 ReceiverOwn=yes,则所有广播产生的 AE2 都来自于 B

如果广播的是自动武器标记,则在没有 ReceiverOwn 情况下,ReceiverAttack 正常,但武器所属无法自动调整,会视为来自广播目标。掰不明白的话就记住广播贴的 AE,如果不是你清楚知道自己在干什么,一定要带 ReceiverOwn

对于复仇类的情况


如果 W 上写着的 AE 是复仇类效果,则 A 打完 B 后,B 获得来自 A 的复仇。设第三个单位 C 攻击 B

默认情况下复仇触发后,会从 B 身上发射武器或粘贴 AE 到 C。

  • 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 的附着对象。

AutoWeapon.ReceiverOwnBullet=yes,则炮弹视为AE的附着对象发射。炮弹的归属和其他自动武器语句无关,包括 AutoWeapon.FireToTargetAutoWeapon.ReceiverAttack,也就是可以从 A 的炮口发射出属于 B 的炮弹。

如果你的 ini 设计中存在许多 AE 嵌套,且你想和人讨论你的设计图,那么你必须声明其中所有的AE从哪里来,到哪里去,如果用效果贴,那么谁给谁贴。如此你的设计才是语言层面上可理解的。