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