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

Kratos:说明书/礼盒

来自RA2DIY

这是个什么东西

默认效果:一个对象获得这个效果器后,立刻移除单位,并生成新的单位。旧的单位逻辑上等效于死亡。原单位称为“礼物盒”,新单位称为“礼物”。

可以配置继承血量或血量数值、继承或指派新任务、不移除旧单位、继承原有AE(只能继承附着在礼物盒上的AE。如果礼物盒曾经给其他单位添加过AE,那么在礼物盒AE运行时,礼物盒单位会被移除,礼物单位无法成为其他单位身上已有AE的来源),获得新AE等效果。

特性&注意项

  • 状态类效果,仅最后附上的生效
  • 默认生成的礼物所属跟随礼物盒AE的来源。如需要打中敌人把敌人变形,但是不改变所属,则礼物盒应有ReceiverOwn
  • KratosPP下,当GiftBox.Remove=no时,GiftBox.AttachEffects赋予给礼物的AE默认来源是礼物盒。如果你不想在礼盒和礼物盒之间建立绑定,让礼物刷出来时持有的AE来源是自己,则用礼物盒添加的AE应有ReceiverOwn=yes
  • 如果GiftBox.Remove=no,且GiftBox有Duration,则Duration中每一帧都会生成一次。如果不写Duration,则会一直生成(AttachOnceInTechnoType=yes也会一直生成)。如果Duration=1,则无法生成。解法是Duration=1,InitialDelay=1。但是如果多个单位同时给自己反馈Duration=1的礼盒,就会因为时序出错导致部分单位贴不上。只是变身的话就别在礼盒上写持续时间了。如果你都用Remove=no了,说明你要普通地刷兵,那就用Host系列效果器。另外,如果给礼盒写了Duration=1,同时又Remove=yes,生成的单位有一定概率丢失原来的目标。
  • 抛射体也可以贴礼物盒。如果加入GiftBox.OpenWhenDestroyed=yes,则会产生常规意义的刷兵效果。如果不加,则是攻击后立刻从炮口生成,这样生成的礼物单位会继承原单位的攻击目标,且刷出来时如果发射武器的单位被选中,则礼物也被玩家选中。刷出来的单位持有Guard任务,有目标但不会走近攻击,只有射程内的会攻击。如果需要让单位走过去,需要另外写AE让开出来的礼盒单位Mission改为Attack或Move,不能使用GiftBox.ForceMission,会掐断GiftBox.InheritTarget的效果
  • 不要用在建筑上。将一个建筑礼盒变成另一个建筑时,会将建筑的实际foundation变成1x1。
  • GiftBox.InheritAE=yes时,相应的AE上必须有Inheritable=yes 以及DiscardOnTransform=no,否则相关AE会在效果器执行后被删除。如果一个单位礼盒变成另一个单位

[TechnoType]&[AttachEffectType]

GiftBox.Types=(List of TechnoType)

礼物,默认none

GiftBox.Nums=(List of Integer)

数量,默认1,1

GiftBox.Chances=(List of Float/Integer - Precent)

抽中的概率,当决定要刷出这个类型时,可以刷出来的概率,每个类型单独计算概率,不写为100%,默认1.0,1.0

GiftBox.Delay=(Integer)

多久后开盒,默认0

GiftBox.RandomDelay=(Integer),(Integer)

随机延迟,默认0,300

GiftBox.RandomType=(Boolean)

随机从列表中选取类型,并释放等于Nums列表中数值总和的礼物数量,默认no

GiftBox.RandomWeights=(Integer)

随机从列表中选区类型,对应列表中每个类型的权重值,数字越大概率越高,默认1


GiftBox.EliteTypes=(List of TechnoType)

GiftBox.EliteNums=(List of Integer)

GiftBox.EliteChances=(List of Float/Integer - Precent)

GiftBox.EliteDelay=(Integer)

GiftBox.EliteRandomDelay=(Integer),(Integer)

GiftBox.EliteRandomType=(Boolean)

GiftBox.EliteRandomWeights=(Integer)

上列标签的Elite版本


GiftBox.Remove=(Boolean)

开盒后删除盒子,默认yes

GiftBox.Explodes=(Boolean)

删除盒子后会不会引起爆炸,触发死亡武器,默认no

GiftBox.RealCoords=(Boolean)

礼物释放在单位的实际位置,否则为逻辑中心,影响建筑,默认no

如果试图用GiftBox变建筑,必须为yes。并且为了避免诡异的抽风,需要多走一步1x1建筑跳转。如NAWEAP->YAWEAP, 需要写NAWEAP->GAPILL->YAWEAP才能正常。

GiftBox.RandomRange=(Integer)

礼物刷在附近随机范围内,单位格,默认0

GiftBox.RandomToEmptyCell=(Boolean)

礼物只在空地上刷,没有空地就刷在原地,默认no

GiftBox.OpenWhenDestroyed=(Boolean)

礼盒单位被摧毁时释放礼物,yes时仅在被摧毁时释放,延迟等设置无效,默认no

GiftBox.OpenWhenHealthPercent=(Integer - Precent)

指定收到伤害后,剩余血量低于这个值时释放,0-1,0%和100%都不会启用这个设置,如果伤害很大直接击杀不会释放,默认100%

GiftBox.OnlyOpenWhenMarks=(List of MarkType)

带有这些标记的时候才可以开盒,默认none


特殊设定-单位转换

GiftBox.IsTransform=(Boolean)

是否使用单位转换机制,默认no

启用后,礼盒将会强制删除,并不会发生爆炸,调整继承选项的默认值

GiftBox.HealthPercent=(Integer - Precent)

指定礼物的血量百分比,0-1,0或者0%,按照原单位血量百分比进行转换,默认100%

GiftBox.HealthNumber=(Integer)

直接指定礼物的血量数字,低于1,不使用,默认0

GiftBox.InheritHealthNumber=(Boolean)

指定礼物是否继承原单位的血量数字,非按比例转换,默认no

GiftBox.InheritTarget=(Boolean)

指定礼物是否继承原单位的目标,变身时默认yes,默认no。

如果GiftBox.Remove写了yes,则有一定概率丢失目标!

所以得写Remove为no,Next出一个DestroySelf来实现这一套。

GiftBox.InheritExp=(Boolean)

如果可以升级则继承等级,变身时默认yes,默认no

; GiftBox.InheritPassenger=(Boolean)

如果有乘客舱位则转移乘客,变身时默认yes,默认no

GiftBox.InheritROF=(Boolean)

继承ROF计时器,变身时默认yes,默认no

GiftBox.InheritAmmo=(Boolean)

如果有弹药则继承弹药,没有弹药生成有弹药,弹药箱清空,变身时默认yes,默认no

GiftBox.InheritAE=(Boolean)

当礼盒被摧毁,第一个礼物继承礼盒的AE,礼盒自身不会继承,变身时默认yes,默认no

AE挂载相关

GiftBox.RemoveEffects=(List of AttachEffectType)

移除礼物继承的AE,默认none

GiftBox.AttachEffects=(List of AttachEffectType)

给礼物附加AE,默认none

GiftBox.AttachChances=(List of Float/Integer - Precent)

附加效果的成功率,每个礼物单独计算,默认100%,100%


GiftBox.ForceMission=(MissionType)

强制设置礼物的任务,默认None

点击查看Mission选项表

[AttachEffectType]

GiftBox.AffectWho=(Speical)

作用于谁,ALL\MASTER\STAND,默认MASTER